Scintilla-Control auslesen (SCI_GETTEXT schlägt fehl)
Verfasst: 08.08.2014 15:50
Hallo,
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?
Danke im voraus & Grüße ... Kiffi
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