Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1

[FMX] Eigene Komponente: Canvas im Create noch nil

  Alt 5. Apr 2018, 12:24
Hallo mal wieder. Ich komme jetzt wieder öfter wie es scheint

Ich baue noch immer meine eigenen visuellen FMX Komponenten (Ableitungen von TShape), und wollte jetzt in deren Konstruktor ein paar Startwerte für Canvas.Stroke setzen:
Delphi-Quellcode:
constructor TPumpe.Create(AOwner: TComponent);
begin
  inherited;
  Width := 32;
  Height := 32;
  FKeepAspect := true;
  Canvas.Stroke.Join := TStrokeJoin.Round;
  Canvas.Stroke.Thickness := 2;
end;
Leider gibt das direkt eine AV wenn ich versuche die Komponente auf ein Formular zu setzen. Kommentiere ich die letzten beiden Zeilen aus, geht es wunderbar.

Später im Paint() kann ich den Canvas problemlos nutzen. Nur kann ich dort diese Dinge nicht mehr setzen, weil dann ja die später im OI gemachten Änderungen immer wieder übernagelt werden.
Ein OnAfterCreate o.ä. konnte ich leider nicht finden. Wie kann man hier die Werte ändern, die direkt nach aufs Formular ziehen eingestellt sein sollen?

Danke schon mal!
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat