formularaufbau bei erstem start langsam
-
- Beiträge: 73
- Registriert: Fr 28. Mai 2010, 08:39
- OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
- CPU-Target: 32Bit
- Wohnort: Heidelberg
formularaufbau bei erstem start langsam
hallo !
habe seit längerem ein problem mit einem meiner projekte. dort gibt es einige komplexere formulare mit mehreren reitern und vielen checkboxen, textboxen, comboboxen darin (mehrere hundert steuerelemente). das problem ist folgendes: beim ersten formularstart braucht er teilweise sekunden bis das formular vollständig gezeichnet/dargestellt ist.
nach dem schliessen des formulars und späterem erneuten aufruf geht alles in nullzeit (keine verzögerung erkennbar). gibt es da irgenteinen trick, wie ich ein formular vor aufruf im hintergrund unsichtbar manuell laden/aufbauen lassen kann, so das es sich beim ersten start so schnell öffnet, so als wäre es schonmal offen gewesen?
danke
habe seit längerem ein problem mit einem meiner projekte. dort gibt es einige komplexere formulare mit mehreren reitern und vielen checkboxen, textboxen, comboboxen darin (mehrere hundert steuerelemente). das problem ist folgendes: beim ersten formularstart braucht er teilweise sekunden bis das formular vollständig gezeichnet/dargestellt ist.
nach dem schliessen des formulars und späterem erneuten aufruf geht alles in nullzeit (keine verzögerung erkennbar). gibt es da irgenteinen trick, wie ich ein formular vor aufruf im hintergrund unsichtbar manuell laden/aufbauen lassen kann, so das es sich beim ersten start so schnell öffnet, so als wäre es schonmal offen gewesen?
danke
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)
(Yoda zu Dooku)
-
- Beiträge: 41
- Registriert: Do 11. Okt 2012, 18:50
- OS, Lazarus, FPC: Win7 (L 1.0.0.2 FPC 2.6.0)
- CPU-Target: 32Bit
- Wohnort: Rügen
- Kontaktdaten:
Re: formularaufbau bei erstem start langsam
hi!
vielleicht setzt du beim Form1.OnShow folgendes:
Form1.Top:=Screen.DesktopHeight;
und danach wieder deine Position zurück
vielleicht setzt du beim Form1.OnShow folgendes:
Form1.Top:=Screen.DesktopHeight;
und danach wieder deine Position zurück
-
- Beiträge: 73
- Registriert: Fr 28. Mai 2010, 08:39
- OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
- CPU-Target: 32Bit
- Wohnort: Heidelberg
Re: formularaufbau bei erstem start langsam
verstehe, damit das formular beim aufbau ausserhalb des bildschirms ist. aber bei welchem event schalte ich das wieder zurück? onactivate z.b. triggert während des bildaufbaus, onshow davor... welcher event triggert denn, wenn der bildaufbau komplett beendet ist?
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)
(Yoda zu Dooku)
Re: formularaufbau bei erstem start langsam
Hast du denn mal untersucht, warum es so langsam ist?
Die Lazarus IDE hat bei Werkzeuge -> Einstellungen auch ein gut bestücktes Formular. Dauert das bei dir auch so lang?
Die Lazarus IDE hat bei Werkzeuge -> Einstellungen auch ein gut bestücktes Formular. Dauert das bei dir auch so lang?
-
- Beiträge: 73
- Registriert: Fr 28. Mai 2010, 08:39
- OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
- CPU-Target: 32Bit
- Wohnort: Heidelberg
Re: formularaufbau bei erstem start langsam
das formular öffnet sich ohne erkennbare verzögerung. muss dann wohl an meinen zusätzlichen routinen liegen...
aber, gibt es ein event das feuert wenn ein formular vollständig dargestellt/gezeichnet wurde? das wäre für mich trotzdem wichtig, denn dann könnte ich meine initialisierungen genau danach ausführen.
aber, gibt es ein event das feuert wenn ein formular vollständig dargestellt/gezeichnet wurde? das wäre für mich trotzdem wichtig, denn dann könnte ich meine initialisierungen genau danach ausführen.
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)
(Yoda zu Dooku)
Re: formularaufbau bei erstem start langsam
Geht OnShow nicht?
Ich weiss ja nicht, zu welchem Zeitpunkt du initialisierst.
Im Zweifel probier einen Timer oder QueueAsyncCall: http://wiki.freepascal.org/Asynchronous_Calls
Ich weiss ja nicht, zu welchem Zeitpunkt du initialisierst.
Im Zweifel probier einen Timer oder QueueAsyncCall: http://wiki.freepascal.org/Asynchronous_Calls
-
- Beiträge: 73
- Registriert: Fr 28. Mai 2010, 08:39
- OS, Lazarus, FPC: Win7 64bit, Lazarus 1.6.0 32bit (FPC 3.0.0)
- CPU-Target: 32Bit
- Wohnort: Heidelberg
Re: formularaufbau bei erstem start langsam
der fehler lag bei mir. ich hatte im onpaint() des formulars auf geänderte look & feel einstellungen geprüft und im fall von geändert dann sofort form-backcolors, schriften usw. neu zugewiesen. das kostet dann halt zeit bis der den ganzen komponentenbaum angepasst hat. ich mach das jetzt woanders, dann gibts keine probleme mehr.
„Viel zu lernen du noch hast.“
(Yoda zu Dooku)
(Yoda zu Dooku)