Author: Ken Dibble
Posted: 2013-05-30 at 09:14:18
>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
_______________________________________________
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/5.2.1.1.1.20130530100632.01cccff8@POP-Server.stny.rr.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.