Einzelnen Beitrag anzeigen

Ferber

Registriert seit: 9. Mär 2005
Ort: Wien Umgebung
155 Beiträge
 
Delphi 2006 Architect
 
#1

Beschleunigung bei Programmstart, Ressourcen sparen, Dialoge

  Alt 23. Mär 2005, 11:54
Hi, einfach nur ein Beitrag den vieleicht jemand brauchen kann.
Speziell für Anwendungen mit sehr vielen Dialogen und Formularen geeignet.

Bei Programmoptionen Formulare von 'Automatisch erzeugen' -> 'Verfügbare Formulare' verschieben und bei Bedarf erzeugen.

Syntax 1: if ShowForm(TMyForm, Myform, smModal)=mrOk then ...

Syntax 2: ShowForm(TMyForm, Myform, smShow )

Formular wird nur bei Bedarf erzeugt und angezeigt, bzw. angezeigt.

Delphi-Quellcode:
unit UShowForm;

interface

uses Classes, Forms;

type
  TShowMode = (smModal, smShow);

function ShowForm(InstanceClass: TComponentClass; var Reference; aShowMode:TShowMode):TModalResult;

implementation

procedure CreateForm(InstanceClass: TComponentClass; var Reference);
begin
  if Pointer(Reference)=nil
     then Application.CreateForm(InstanceClass, Reference);
end;

function ShowForm(InstanceClass: TComponentClass; var Reference; aShowMode:TShowMode):TModalResult;
begin
  CreateForm(InstanceClass, Reference);
  if aShowMode = smModal
     then TForm(Reference).ShowModal
     else TForm(Reference).Show;
  Result:=TForm(Reference).ModalResult; // macht nur bei modalem Aufruf Sinn
end;

end.
mfg Otto
Otto
  Mit Zitat antworten Zitat