Arne - Do 29.12.05 19:47
Titel: FormCreate / Create Problem
Neuer tag - neues Problem - wieder mal
1) Mein Hauptformular (TFormMain) ruft über einen Dropdownmenüeintrag ein Unterformular (TFormDBMain) auf.
Das Ganze mittels:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TFormMain.MenuWorkClick(Sender : TObject); var objDBWorkForm : TFormDBMain; begin objDBWorkForm := TFormDBMain.Create(FormMain); if Assigned(objDBWorkForm) then begin objDBWorkForm.ShowModal; end; objDBWorkForm .Free; end; |
1) Ich habe jetzt mal einen Zähler als Label auf das Hauptformular gepflanzt, um zu sehen, wie oft TFormDBMain.FormCreate aufgerufen wird.
Beim Programmstart (nur TFormMain geöffnet) bereits 1x
Nach dem TFormDBMain.ShowModal bereits 3x
Ich lade etwas über das GUI von TFormDBMain, dann sind es bereits 5x.
Ich habe bei den Ereignissen im Objektinspektor von TFormDBMain bei
OnCreate : FormCreate
OnPain : FormPaint
OnDestroy: FormDestroy
stehen.
Ich bin bisher davon ausgegangen, daß FormCreate einmal für jedes erzeugen aufgerufen wird.
Ohne, daß ich was in dem TFormDBMain anstelle, habe ich schon drei Aufrufe von FormCreate.
Ist das normal, oder hab ich irgendwo einen fehler drin?
Falls das normal ist, wie kann ich dann sicherstellen, daß ein (Form)Create nur einmal je Erzeugung von TFormDBMain aufgerufen wird?
Muß ich den TFormDBMain Konstruktor überschreiben á la
Delphi-Quelltext
1: 2: 3: 4: 5:
| constructor TFormDBMain.Create(Owner : TComponent); begin inherited Create; end; |
Kann ich in dem Konstruktor überhaupt davon ausgehen, daß die GUI Elemente schon erstellt sind, um Properties (RadioButtons in RadioGroups) vorzubelegen?
BTW: Gibt es eine Übersicht für Dummies, in der die ganzen OnCreate, OnPaint,.... Ereignisse verständlich erklärt sind - die OnlineHilfe ist wohl eher was für Leute, die schon etwas Plan haben.
2) Wie kann ich das "Maximieren" Feld (rechts oben in jedem Fenster zwischen dem Minimieren und Schließen Feld) in meinem Formular disablen? Stichwort wie das Ding in der Win32 API bezeichnet wird, würde zur Not schon genügen.
thanx, Arne