Zitat von
Hansa:
Wieso schneller ? Wenn die Formulare im Speicher vorhanden sind, was geht da noch schneller ? Außerdem muß man sich doch auch selber drum kümmern, den Speicher wieder freizugeben. Aber noch eine andere Frage: Wovon hängt es ab, wieviel Speicher die Dinger brauchen ? Tja, ich habe hier zig Programme und das soll irgendwann mal eins werden, deshalb stellen sich langsam diese Fragen.
Angenenommen Du hast im OnCreate der Formen "Zeitintensive" Dinge wie z.B. das öffenen einer Datenbank inkl. Verbinden und ausführen einer Abfrage. Wenn dies nun in jeder Form wäre und jede Abfrage nur 200ms braucht kannst Du ausrechnen wie lange es dauert bis deine gesamte Anwendung fertig gestartet ist.
Eas mit dem Freigeben vom Speicher ist ja nicht so wild. Ich erzeuge auch alle Fenster zur Laufzeit.
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
window : TForm2; // Kunden-Formular
begin
window := TForm2.Create(self);
try
with window do
//z.B. Übergabe von Werten an Variabeln die im Public-Teil stehen
kunden_id := xxx;
modus := sb_readonly;
ShowModal
finally
FreeAndNil(window);
end;
Wieviel Speicher ein Fensterbenötigt ist wohl in ersterlinie von den Komponenten, Variablen und evnt. Images abhängig die in der Form verwendet werden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"