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