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 [email protected], Samuel Luján Navarro <[EMAIL PROTECTED]>
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]
>


Reply via email to