Author: Kent Belan
Posted: 2013-05-30 at 09:44:13
Hello Ken,
Thanks very much for the quick reply.
I had no idea I could pass parameters like that.
Probably should have looked in the help ...
Thanks also to Richard and Dave.
This is the best resource anywhere ... thanks Ed !!
-----Original Message-----
From: ProFox [mailto:profox-bounces@leafe.com] On Behalf Of Ken Dibble
Sent: Thursday, May 30, 2013 10:14 AM
To: profox@leafe.com
Subject: Re: Return value from form in class
>I am trying to build a form in a class. Everything is working ok, but
>now I want to return a value from the form.
>
>How do I get the return value passed back to the calling form ?
>
>Here is my code:
>
>oForm = createobject("testform")
>oForm.show(1)
>lcReturnMsg = oForm.cReturnMsg
>
>The problem is the 3rd line errors out with oForm not valid because the
>form has already released
>
>So what is the trick to return a value from a form in a class ?
Typically I do something like this (untested and no error-trapping, but
enough to give the gist):
DEFINE CLASS Form1 AS Form
ModalResult = ""
PROCEDURE LaunchForm2
oForm = CREATEOBJECT("Form2",THISFORM)
oForm.Show(1)
* Do something with THISFORM.ModalResult here....
ENDPROC
ENDDEFINE
DEFINE CLASS Form2 AS Form
ReturnValue = ""
Caller = .NULL.
PROCEDURE Init
LPARAMETERS oCaller
THIS.Caller = oCaller
ENDPROC
PROCEDURE DoSomethingUseful
THIS.ReturnValue = "Foo"
ENDPROC
PROCEDURE UNLOAD
oCaller.ModalResult = THIS.ReturnValue
ENDPROC
ENDDEFINE
Ken Dibble
www.stic-cil.org
[excessive quoting removed by server]
_______________________________________________
Post Messages to: ProFox@leafe.com
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: http://leafe.com/archives/byMID/profox/004701ce5d44$285dd380$79197a80$@mchsi.com
** All postings, unless explicitly stated otherwise, are the opinions of the author, and do not constitute legal or medical advice. This statement is added to the messages for those lawyers who are too stupid to see the obvious.