dyn Form aus automat. erstellter Form?
-
Hi,
was ist zu beachten wenn eine Form dyn. aus einer automatisch erstellten Form erstellt werden soll?
Also: in dem auto. erstellten Form ist ein Button. In dessen OnClick eine weitere Form dynamisch erstellt werden soll, also mit
try { form = new TForm(this); form->ShowModal(); } catch (...) {}
Aufgeräumt wird auch noch, Header und alles andere passt.
Allerdings kommt im Debug Mode beim ausführen der Anwendung bereits ein Fehler, das ReleaseBuild startet erst gar nicht???
grüssle
-
Hallo
Grundsätzlich ist dagegen nichts einzuwenden. Dein Quellcode ist soweit korrekt. Wenn du ein Konzept fürs Aufräumen hast, hast du an alles wichtige gedacht.
Dein Fehler muß einen konkreten Grund aus deinem weiterem Quellcode haben.
bis bald
akari
-
akari schrieb:
Hallo
Grundsätzlich ist dagegen nichts einzuwenden. Dein Quellcode ist soweit korrekt. Wenn du ein Konzept fürs Aufräumen hast, hast du an alles wichtige gedacht.
Dein Fehler muß einen konkreten Grund aus deinem weiterem Quellcode haben.
bis bald
akariStimmt. Ist ja auch Code, der Copy&Paste, mehrfach erfolgreich erprobt
Dummerweise habe ich einen relevanten Header falsch( hinter den TForm Header ) gesetzt. Deswegen kommt keine Meldung, nur wenn er dann gebraucht wird ...
*kopfklatsch*
Thx & grüssle
-
Hallo,
Solange man die Form so erstellt
form = new TForm(this);
muß man noch nicht mal ans Aufräumen denken, da das ja die Form in der erstellt wird erledigt. Das this im TForm-Konstruktor ist der Owner. Der ist für das Aufräumen zuständig.
-
Is klar. Läuft jetzt auch fast gut.
Fast, weil: Debug = läuft, Release kommt beim Start:
externe exception 406D1388
Aus der IDE gestartet läuft das Prog nach drücken von 'Fortsetzen', sonst geht nichts mehr.
Kennt jemand diese Exception? Google hat mich nicht weitergebracht?!
Ich tippe mal auf fehlende Bibliothek, aber welche???grüssle
Edit: liegt an Indy10. Habe mal testweise den About Dialog genommen, und dann läufts. TIdFTP auf den Dialog, Exception.
Nur: Im Debug Mode läuft es, im Release nicht. Habe dann die Packages kontrolliert, drei Indy Packages sind da, Release Packages