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] >

