Re: Return value from form in class

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.

©2013 Ken Dibble