Form von WinMain aus starten
-
Hallo,
ich möchte gerne in einer ganz normalen WinMain-Funktion ein Formular vom Typ TForm öffnen.
Dies mache ich mit folgenden Aufrufen:Application->Initialize(); Application->CreateForm(__classid(TForm1), &Form1); Application->Run();Das Problem dabei ist allerdings, das nach dem Aufruf von Application->Run() die Main-Funktion nicht weiter ausgeführt wird. Hätte da jemand nen Tipp für mich, wie ich mein Programm und mein Form parallel laufen lassen kann?
Danke schonmal im voraus!
-
????????????????
Wozu?
Form1 ist die Hauptform (MainForm) der Application. Bei Run wird diese Form aktiviert. Alles Weitere kannste darin machen.
PS: Fuer parallele Ausfuehrung anderer Sachen nimmste nen Thread - den erzeugst und startest Du in Form1 (zB in OnActivate)
-
Also ich hatte ein OpenGL-Programm geschrieben, ich weiß dass das auch über eine Form gehen würde, allerdings hab ich den Code schon so geschrieben gehabt und keine Lust, den jetzt umzuschreiben. Ich wollte einfach nur eine kleine Form erstellen mit der ich dann ein paar Einstellungen für die OpenGL-Ausgabe machen möchte.
Schade, ich dachte es gäbe da ne einfache Lösung.
Naja jedenfalls find ich es merkwürdig, dass sich nach Application->Run() das Form öffnet und nach dem Schließen das Programm dann weiterläuft das Form aber noch da ist. Erst nach dem 2. Schließen ist es endgültig weg!?
-
Hallo
das mit dem Run() hat schon seine Richtigkeit. Es ist sozusagen die Hauptschleife des Programms. Sichtbare Auswirkungen sind das Öffnen des Hauptforms. Die läuft bis zum Schließen des Hauptforms. Dann wird die Schleife und das Programm selber beendet.
Wenn du meinst, das du die Automatik nicht willst, kannst du statt Run() auch eine eigene Verarbeitung vornehmen, und eventuelle Forms mit Show() und Hide() verarbeiten. Dies ist allerdings in den meisten Fällen nicht nötig und auch nicht sinnvoll.bis bald
akari