I actually do this all the time - the only form that is created when I
start the app is the main form and the data form. However, it does
not help when the form is shown non-modally, since you must leave the
function without freeing the popped form.
Thanks anyway.
I anyone doing this for non-modal forms?
jamie
--- In delphi-en%40yahoogroups.com">delphi-en
yahoogroups.com, Samuel Luján Navarro <slujan7e
...>
wrote:
>
>
> Hi Jamie:
>
> I do something like this, but with modal forms.
>
>
>
> You can create a class function or a class procedure:
>
> .
>
> .
>
> .
>
> public
>
> { Public declarations }
>
> class function FunctionName(parameters ):type;
>
> .
>
> .
>
> .
>
>
>
> Next in the implementation section ...
>
>
> *implementation*
>
>
>
> {$R *.dfm}
>
>
>
> class function TFormName.FunctionName(parameters ...):type;
>
> Var ...
>
> begin
>
> with Create(Application) do
>
> try
>
> ... // your sentences here
>
> Showmodal;
>
> ...
>
> finally
>
> Free;
>
> end;
>
>
>
> You can call this Function from any other form ...
>
>
>
> TFormName.FunctionNAme(parameters ...);
>
>
>
>
>
> Don't forget to put the name of class function or class procedure in
the
> uses section.
>
>
>
> Regards,
>
> Sami,
>
>
> Jamie L. Mitchell escribió:
> >
> > Hello all:
> >
> > I remember seeing a tip from ... somewhere on this issue. I cannot
> > seem to dig it up now.
> >
> > I would like to have a global variable for a form:
> >
> > frmGlobal: TfrmGlobal;
> >
> > I would like to instantiate it from any place:
> >
> > frmGlobal := TfrmGlobal.Create(Application);
> >
> > and show it as a non-modal form:
> >
> > frmGlobal.Show;
> >
> > When I am done with the form, I would like to close it and free it up.
> > Of course, the problem with this is that, at a later date, I may want
> > to create it again. To avoid a memory leak, I clearly would not want
> > to create a new instance if the existing instance still exists. I
> > could use:
> >
> > If (Assigned(frmGlobal)) Then ...
> >
> > except that assigned merely asks the variable, "are you NIL?" Since
> > merely freeing the variable does not set it to NIL, the system thinks
> > it is still there.
> >
> > Since the form could be created anywhere, and the form should be
> > deleted when it is closed, the best way to deal with it would seem to
> > be figuring out a way to free the form and set the global variable to
> > NIL from the OnDestroy event. I have had a number of problems doing
> > this (chicken or egg problem.) A lot of AV's come out of
> > experimenting with this.
> >
> > Does anyone have a good solution to how to free and NIL [the global
> > variable] form from inside itself?
> >
> > Thanks
> > jamie
> >
> >
>
>
>
> [Non-text portions of this message have been removed]
>
.