Delphi-Quellcode:
function THauptfenster.GetAttribut(pos:integer):integer;
begin
// Fix für Scintilla, dass er das Attribut überprüft!!
scintilla1.SelStart:=scintilla1.positionfromline(pos);
application.processmessages;
// so ein Scheiß!
getattribut:=Scintilla1.GetStyleAt(pos);
end;
Scintilla's GetStyleAt-Funktion funktioniert nur, wenn der Text an dieser Stelle zuvor angezeigt wurde!
Ich hab jetzt echt ne halbe Ewigkeit dran rumgemacht herauszufinden warum Scintilla nicht das liefert was ich wollte. Jetzt ist es klar.
Es scheint sich um einen internen Fehler zu handeln.
Ohne das application.processmessages geht es auch nicht.
"Geht nicht" heißt in diesem Fall: GetStyleAt gibt 0 zurück.
Kann diesen Bug bitte jemand bestätigen bzw. dementieren?
Ich verwende
Scintilla v1.62 © Copyright Neil Hodgson 1998-2003
Delphi Scintilla Interface Components v0.17 © Copyright Jan Martin Pettersen 2004,05
edit: Durch das processmessages wird das Teil nicht gerade schneller, findet jemand evtl. eine andere Lösung?
edit2: im Scintilla1UpdateUI sollte man GetAttribut tunlichst
nicht aufrufen, sonst passt gar nix mehr

Also geht das nicht den Stil in der Statusbar anzeigen zu lassen ;-(