2 mal createForms funktioniert nicht.
-
- Lazarusforum e. V.
- Beiträge: 7192
- Registriert: So 19. Nov 2006, 12:06
- OS, Lazarus, FPC: Linux Mint 19.3
- CPU-Target: AMD
- Wohnort: Oldenburg(Oldenburg)
Eigentlich schon eine AV müsste es geben, weil wenn du in From1.OnCreate ein From2.Show aufrufst. dürfte From2 noch gar nicht installisiert sein.
Da bin ich mir zimlichsicher, weil ich das schon Ausprobiert habe.
Der beste Ort dafür wäre onActivate.... dann bist du auf der sicheren seite.
Oder du musst deine Formulare per hand installisieren.
Da bin ich mir zimlichsicher, weil ich das schon Ausprobiert habe.
Der beste Ort dafür wäre onActivate.... dann bist du auf der sicheren seite.
Oder du musst deine Formulare per hand installisieren.
MFG
Michael Springwald
Michael Springwald
- af0815
- Lazarusforum e. V.
- Beiträge: 6763
- Registriert: So 7. Jan 2007, 10:20
- OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
- CPU-Target: 32Bit (64Bit)
- Wohnort: Burgenland
- Kontaktdaten:
Ein Formular als Master, was die anderen entsprechend erzeugt und öffnet. Das kann zum Beispiel auch gleich das Splash sein.
Somit hat man es direkt in der Hand was, wie geöffnet wird, auch die Reihenfolge wenn es abhängigkeiten gibt. Ausserdem kannst Du da gleich den Benutzer informieren was läuft und was solange benötigt, ohne das der Nervös wird und ev. das vermeintlich hängende Programm abschießt, nur weil du auf eine Datenbank warten mußt.
Somit hat man es direkt in der Hand was, wie geöffnet wird, auch die Reihenfolge wenn es abhängigkeiten gibt. Ausserdem kannst Du da gleich den Benutzer informieren was läuft und was solange benötigt, ohne das der Nervös wird und ev. das vermeintlich hängende Programm abschießt, nur weil du auf eine Datenbank warten mußt.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
Ein Splash sollte aber nix anderes erstellen oder öffnen. Ich zumindest erstelle immer zuerst das Splash formular und update es höchstens aus dem Hauptprogramm (lpr) vorm Application.run versteck ichs dann wieder.
Show darf gar nicht in Formshow genutzt werden soweit ich weiss bei Delphi zumindest gabs da immer fehlermeldungen ala yiou cannot use Show in OnShow oder sowas. Weiterhin kann Show ja öfter aufgerufen werden. Es macht sinn bei fenstern die zu anderen fenstern gehören aber in dem hier vorliegenden fall würd ich einfach in OnCreate Show mit aufrufen. Das ist die sauberste und einfachste methode.
Show darf gar nicht in Formshow genutzt werden soweit ich weiss bei Delphi zumindest gabs da immer fehlermeldungen ala yiou cannot use Show in OnShow oder sowas. Weiterhin kann Show ja öfter aufgerufen werden. Es macht sinn bei fenstern die zu anderen fenstern gehören aber in dem hier vorliegenden fall würd ich einfach in OnCreate Show mit aufrufen. Das ist die sauberste und einfachste methode.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Form2.Show in TForm1.OnShow geht problemlos.Christian hat geschrieben: Show darf gar nicht in Formshow genutzt werden soweit ich weiss bei Delphi zumindest gabs da immer fehlermeldungen ala yiou cannot use Show in OnShow oder sowas. Weiterhin kann Show ja öfter aufgerufen werden. Es macht sinn bei fenstern die zu anderen fenstern gehören aber in dem hier vorliegenden fall würd ich einfach in OnCreate Show mit aufrufen. Das ist die sauberste und einfachste methode.
Ich weiss nicht was daran "reichlich blöde" sein soll, ausser du "hidest" das Hauptformular. dann wird aber bei einem erneuten Form1.Show das zweite einfach auch wieder angezeigt, falls es denn unsichtbar war.
Das ist doch nur Geschmacksache...
Die OnCreate Lösung geht natürlich auch.Christian hat geschrieben:Ja hast recht aber warum soll man OnShow nehmen auch wenn es nicht so oft vorkommt das man das Hauptformular versteckt ist doch in OnCreate sauberer oder ?
Aber hier kommt's wirklich auf die Implementierung an.
Bei sowas wie der LazIDE z.B. möchte ich doch den Visible-Status der Fenster wahrscheinlich speichern.
Dann ist es mir lieber, das zentral in Mainform.OnShow zu managen.
Wie gesagt: Geschmacksache. Aber "reichlich blöd" ist keins von beiden.