Einzelnen Beitrag anzeigen

Pfaffe

Registriert seit: 29. Jan 2009
294 Beiträge
 
Delphi 12 Athens
 
#9

AW: Parameterrückgabe von Form an aufrufenden Prozess

  Alt 9. Mär 2019, 16:26
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)
  Mit Zitat antworten Zitat