Einzelnen Beitrag anzeigen

Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Constructor löscht Entwurfszeitinhalte

  Alt 9. Apr 2006, 13:18
Zitat von SirThornberry:
der Construktur kann die Änderungen doch gar nicht überschreiben. Schließlich werden dinge die im Objectinspektor zugewiesen werden (in der DFM gespeichert) erst nach dem creieren und somit erst nach aufruf des Constructors geladen.
Das ist nicht ganz richtig, das Laden der .dfm-Datei ist ein Bestandteil des Constructors. Durch ein Überschreiben des Constructors kann man durchaus Änderungen durchführen. Es kommt ganz auf die Reihenfolge der Anweisungen an:

Delphi-Quellcode:
constructor TForm1.Create(aOwner: TComponent);
begin
  Button1.Caption := 'Hallo Welt!';
  inherited;
end;

constructor TForm1.Create(aOwner: TComponent);
begin
  inherited;
  Button1.Caption := 'Hallo Welt!';
end;
Im ersten Beispiel sieht man im Button die im Objektinspektor eingestellte Beschriftung, im zweiten Beispiel die vom Programm geänderte. Änderungen, die im Eventhandler für OnCreate durchgeführt werden, überschreiben immer die im Objektinspektor eingestellten Werte.

Gruß Hawkeye
  Mit Zitat antworten Zitat