Zitat:
Ich verwende allerdings nicht die dynamische Form-Erzeugung. Wo liegt der Vorteil ?
Bei Anwendungen, die der Anwender oft schießt und wieder öffnet, kann es nerven, wenn der Startvorgang lange dauert.
Es gibt aber auch Anwendungen, die schließt der Anwender selten, z.B. CAD-Programme, die halten möglichst viel im Speicher, da macht auch 64-Bit Sinn.
Bei Datenbankanwendungen wäre es blöd, wenn die Connection immer wieder zerstört wird. Habe schon Anwendungen gesehen, in der in jedem Form eine Connection auf und wieder zugemacht wurde
Es gibt noch eine weitere Möglichkeit. Die Formulare werden nicht in der
dpr erzeugt, sondern dann, wenn der Anwender sie zum ersten Mal anfordert:
Delphi-Quellcode:
if not Assigned(FSuchForm) then
Application.CreateForm(TFSuchForm, FSuchForm);
// FSuchForm.xxx
anstatt von
Delphi-Quellcode:
Frm:= TSuchForm.Create(Self);
try
// Frm.xxx
finally
Frm.Free;
end;
Nachdem das Formular erzeugt wurde, bleibt es im Speicher, bis die Anwendung beendet wird. Fordert der Anwender das Formular nicht an, dann wird es auch nicht erzeugt und verbraucht keinen Speicher.
Richtig/Falsch: Nicht zu viel Angst vor scheinbare Fehler, oft gibt es viele Lösungswege. Heuzutage wird in den Firmen zu lange geredet und es herrscht zu viel Angst davor, etwas nicht optimal zu machen. Meine Empfehlung: Demos mit den verschiedenen Techniken erstellen, kommentieren und archivieren.
Anmerkung zu
DLL's: Bei den neueren Delphi-Versionen kann die Option delayed angeben werden, dann dauert das Erste ansprechen der
DLL nicht so lange. (Bitte in der Hilfe nachlesen)