Funktion die nach dem Erzeugen des Formulars einmalig aufgerufen wird
-
Wenn alles - aus welchen Gründen auch immer - nicht geht, eine globale Variable als Schalter setzen und diese nach Aufruf der Funktion umsetzen
-
Hallo,
Wenn der Konstruktor eines Forms ausgeführt wird (OnCreate besser nicht verwenden), ist doch das Form soweit schon erzeugt, das heißt du kannst auf alle Member zugriefen. Meinst du statt erzeugt angezeigt?
Ja, ich meine angezeigt.
Es ist so dass ich im Konstruktor noch nicht auf alles zugreifen kann.
Ich kann z.B. eine Funktion in einer anderen Unit nicht ausführen.Gruß Sam
-
Christian211 schrieb:
Wenn alles - aus welchen Gründen auch immer - nicht geht, eine globale Variable als Schalter setzen und diese nach Aufruf der Funktion umsetzen
Und wie rufe ich die Funktion auf?
Ich brauche etwas, das mir die Funktion aufruft.
-
Lege eine Variable an z.B.: "FirstRun" . In OnCreate() einfach auf true setzen,
danach bei OnActivate() :
if( FirstRun )
{
FirstRun = false;
....
}funkt immer
-
Hallo
eine globale Variable als Schalter
Aber keine globale Variable zum Speichern des Statuses, sondern eine Membervariable des betreffenden Forms.
Und wie rufe ich die Funktion auf?
Zum einen ist da der Event TForm::OnShow. Ist genau das richtige, wenn du direkt vor dem Anzeigen des Forms etwas machen willst. Allerdings keine Zeichenoperationen, die werden nicht übernommen.
Zum anderen ist da TForm::OnPaint. In verbindung mit einem genannten Schalter, um den ersten Durchlauf zu überprüfen, kannst du damit etwas ausführen, direkt nachdem das Form angezeigt wurde.
bis bald
akari
-
Gibt es bei OOP ein main(void)???
-
???????????
globale Variable:
bool aufruf=false;
.....
im OnShowif(aufruf==false)
{
aufruf=true;
deineFunktion()
}
-
Gibt es bei OOP ein main(void)???
Nein, ein
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
Projekt -> Quelltext anzeigen
-
Vielen Dank,
ich versuch es mal.
-
Du könntest auch im Konstruktor deinem Form eine Nachricht mit PostMessage senden. Die Abarbeitung der Botschaftswarteschlange (Aufruf von WndProc) beginnt erst dann, wenn der Konstruktor abgearbeitet und alle Eigenschaften geladen wurden.
Rob'