Objekt einer Form übergeben
-
Hallo.
Ich habe zwei Formulare.
in dem ersten (fMain) wird ein Obkekt initialisiert.
Main.h:private: // Benutzer-Deklarationen Parser FDataObj; // Parser Klassen Objekt wird initialisiert.
Main.cpp (im Konstruktor):
[cpp]
__fastcall TfMain::TfMain(TComponent* Owner)
: TForm(Owner)
, FDataObj()
{
}[/cpp]An einer bestimmten Stelle im Programm hat fMain jedoch ausgedient und es soll mit fSecondForm weitergehen.
Das passiert so:if (fSecondForm == NULL) { fSecondForm = new TfSecondForm (NULL); } fSecondForm->Show();
Jetzt will ich aber das mein Objekt FDataObj auch an fSecondForm weitergegeben wird.
Ich will auf keinen fall ein wirliches Globales Objekt erstellen (was ich jetzt hab ist zwar fast global, aber eben nur fast, denn es ist nur im Konstruktor von fMain (was natürlich zugegebenermaßen beim Programmstart erzeugt wird.).
Also, das Objekt soll an fSecondForm weitergegeben werden. Weiß jemand wie man das macht???
Danke!!!!
-
Original erstellt von ClippingError:
An einer bestimmten Stelle im Programm hat fMain jedoch ausgedient und es soll mit fSecondForm weitergehen.Hört sich nach einem schwerwiegenden Fehler im Programmdesign an.
Aber egal, da du die Hauptform nicht löschen kannst (sonst wäre ja dein Programm zuende) existiert auch das Parserobjekt weiter und du kannst mittels fMain->FDataObj daraufzugreifen.
Siehe auch die FAQ unter "Forms- Variablenübergabe".
-
und ich dachte noch ich hätt die FAQs gründlich durchsucht ....
thx!
Achja, fMain hat nicht wirklich ausgedient, ist aber eine MDI Main Form.
Das Objekt wird im LoadDialog gefüllt und muss danach den ganzen Programmablauf hindurch verfügbar sein. Ist es so schlecht es dann einfach in fMain zu erstellen?