Page 1 of 1
firstInstances??
Posted: Fri Aug 07, 2009 11:19 am
by ConvertFromOldNGs
by JADE Kid - Ray Hidayat >> Tue, 14 Mar 2000 7:02:25 GMT
Okay, so I know the firstInstance method.
someClass := SomeClass.firstInstance;
But what if I want to point to the firstInstance of a form?
this doesn't work:
form := Form.firstTransient;
Re: firstInstances??
Posted: Fri Aug 07, 2009 11:19 am
by ConvertFromOldNGs
by Craig Shearer >> Tue, 14 Mar 2000 7:59:37 GMT
No, this isn't how it works.
For there to be an instance of a class, one must have been created. When you paint a form in the Painter, you are actually creating a persistent instance of the Form class.
To use a form at runtime, simply create it:
vars
form : MyForm;
begin
create form transient;
form.show;
etc.
Also, your code below would have been clearer as:
someObj := SomeClass.firstIsntance;
as you're actually getting an object, not a class.
Craig.
Re: firstInstances??
Posted: Fri Aug 07, 2009 11:19 am
by ConvertFromOldNGs
by
David Mitchell >> Tue, 14 Mar 2000 9:03:28 GMT
I think what Ray is meaning Craig, is that he has forms open, and wants to refer to them through code. You can grab forms using the app.getForm(name : String): Form; method.
--
David Mitchell
JADE Kid - 1998
www.jadekids.com
Re: firstInstances??
Posted: Fri Aug 07, 2009 11:19 am
by ConvertFromOldNGs
by
JADE Kid - Ray Hidayat >> Wed, 15 Mar 2000 3:04:08 GMT
I think what Ray is meaning Craig, is that he has forms open, and wants to refer to them through code. You can grab forms using the app.getForm(name: String): Form; method.
Yes that is what I meant. Thanks for that.
vars
form : MyForm;
begin
create form transient;
form.show;
etc.
About this code, you don't need to say transient when when you create it. It works without it.
Ray Hidayat
JADE Kid - 2000
http://www.jadekids.co.nz
(Thanks to David Mitchell [JADE Kid - 1998] for the 'footer')
Re: firstInstances??
Posted: Fri Aug 07, 2009 11:19 am
by ConvertFromOldNGs
by Craig Shearer >> Wed, 15 Mar 2000 8:45:49 GMT
That's true, but I believe it's good practise to document the code when creating objects as to what lifetime object you're creating. For example, I often write:
create customer persistent;
even though I could leave persistent off.
For some classes, there are times when you want to create a persistent and other times when you need to create a transient instance. For these examples, the persistent/transient modifier is required, and also helpful from a documentation perspective.
Craig.