Einzelnen Beitrag anzeigen

Benutzerbild von BackOrifice
BackOrifice

Registriert seit: 6. Jun 2005
74 Beiträge
 
Delphi 2007 Architect
 
#1

Form-Konstruktor überschrieben; wie werden Komp. erzeugt?

  Alt 6. Jan 2009, 00:35
Hi =)

Ich hoffe, so spät abends ist noch einer wach.

Ich habe eine Formularklasse, bei der ich den Konstruktor überschrieben habe um dem Formular 1, 2 Objekte mitzugeben.
Delphi-Quellcode:
constructor Tfrm_Settings.Create(Settings: TSettings; Semesters: TSemesters);
begin
  _Settings := Settings;
  _Semesters := Semesters;
end;

Das Formular wird _NICHT_ automatisch erzeugt, sondern nur dann, wenn es gebraucht wird.
Delphi-Quellcode:
var FSemesterSettings : Tfrm_NewSemester;
begin
  FSemesterSettings := Tfrm_NewSemester.Create(Semesters);
  FSemesterSettings.Show;
  FSemesterSettings.Release;
Problem jetzt: Da ich den Konstruktor überschrieben hab, werden die Komponenten auf dem Formular nicht mehr automatisch erzeugt; Nach dem Konstruktoraufruf sind alle Objekte außer _Settings und _Semesters nil. -> Logischweiße schlägt dabei FSemesterSettings.Show fehl, da von der Adresse 0 gelesen wird.

2 Lösungen fallen mir ein:
1) Ich kümmer mich jetzt im Konstruktor selbst um alle Komponenten, dass sie erzeugt werden
2) Ich benutze irgendein geiles Schlüsselwort, welches mir die Objekte erstellt - nur kenn ich das nicht =(

Hilfe!
Henning
  Mit Zitat antworten Zitat