Problem endlich gelöst. Vielen Dank an Blup.
Die Lösung war ganz einfach(wie ich es mir gedacht hatte, nur ich habe sie übersehen bzw. nicht dran gedacht):
Zitat:
Einen Fehler habe ich in "TPLTE_ObjectSTD_Text.GetSize" gefunden, hier wurde eine bestimmte Style-Klasse erwartet.
TPLTE_ObjectSTD_TextLink setzt aber eine ganz andere Style-Klasse ein. Deshalb kam als Breite immer -1 raus und das ist nicht viel Hintergrund zum Zeichnen.
Delphi-Quellcode:
function TPLTE_ObjectSTD_Text.GetSize(AIndex: integer): Integer;
var
i:integer;
begin
Result := inherited GetSize(AIndex);
if Result = -1 then
begin
FStyle.ToCanvas(Canvas);
case AIndex of
0: result:=Canvas.TextWidth(Text);
1: result:=Canvas.TextHeight(Text)
end;
end;
end;
Die Lösung erklärt zwar nicht das Komische Verhalten, aber löst das Problem auf dem Ersten Blick.