Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
3. Jan 2010
Immerhin hast du dein Programm etwas optimiert, sodass nicht bei jedem Maximieren/Wiederherstellen unnötiger Code ausgeführt wird. ;)
Und den ein oder anderen hilfreichen Tipp hast du auch bekommen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
3. Jan 2010
Stimmt. :mrgreen:
Das kann ich mir nicht erklären. Mit deinem Updater hängt es nicht zusammen, dass der irgendwas (Verzeichnisse, Dateien, ...) prüft?
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
3. Jan 2010
Da reicht schon eine Zeile, um den Start zu verzögern:
for i := 1 to 10000000 do Application.ProcessMessages;
Das kommt immer darauf an, was deine Komponenten machen. Aktive Timer führen ständig Operationen aus. Sind diese Rechenintensiv, dann kann das ein schnelles Anzeigen verhindern. Um nur ein Beispiel zu nennen.
"ApplicationEvents" stellt dir Ereignisse wie OnRestore zur Verfügung....
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
3. Jan 2010
Hast du noch irgendwelche Dinge im OnShow oder evtl. OnActivate stehen?
Oder kann es sein, dass deine Oberfläche mit hunderten Komponenten überladen ist? Das könnte ein Anzeigen auch verlangsamen.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
2. Jan 2010
Und das hier:
case ComboBox1.Itemindex of
3: Image9.Visible := False;
7: Image9.Visible := False;
21: Image9.Visible := False;
22: Image9.Visible := False;
24: Image9.Visible := False;
25: Image9.Visible := False;
end;
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
2. Jan 2010
Liest du, was wir hier schreiben? Nimm OnCreate und nicht OnShow. Sonst ist klar, dass bei jedem Maximieren die Anwendung erst einmal hängt, bei diesem gigantischen Code, der dann jedesmal abgearbeitet wird (ich habe ihn mir nicht angesehen).
Edit: Prüfe nie auf "= true" oder "= false".
So muss das sein:
if CheckBoxX.Checked then
oder
if not CheckBoxX.Checked then
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Matze,
2. Jan 2010
Versuche es komplett im OnCreate zu machen. Wie gesagt wird das OnShow-Ereignis öfters ausgeführt, sobald das Fenster angezeigt wird (minimieren -> maximieren -> OnShow).
Das OnCreate-Ereignis wird einmalig aufgerufen und ist daher gut geeignet.