ich möchte den aktuellen Text aus der PB-IDE auslesen. Das Handle des Scintilla-Controls habe ich vorher mit Spy++ ermittelt (da der Code später mal für ein PB-Tool sein soll, werde ich das Handle dann mittels GetEnvironmentVariable("PB_TOOL_Scintilla") ermitteln).
Nachfolgender Code ermittelt zwar die korrekte Länge des Textes (das schließt schon mal aus, dass ich das falsche Handle verwende), aber nicht den Text selber. Weiß jemand, warum?
Code: Alles auswählen
EnableExplicit
Define SCI
Define length
Define buffer
SCI = 2624706
length = SendMessage_(SCI, #SCI_GETLENGTH, 0, 0)
Debug length ; hier wird die korrekte Länge ausgegeben
If length
length + 1
buffer = AllocateMemory(length)
SendMessage_(SCI, #SCI_GETTEXT, length, buffer)
Debug ">" + PeekS(buffer, -1, #PB_UTF8) + "<" ; Ausgabe: '><'
FreeMemory(buffer)
EndIf