I have a structure (str_doc) which contains a number of variables including a datawindow as shown below:
____________
integer retcode
string docname
... (other variables)...
datawindow areas
____________
I have a main window (w_win1) where this structure is set as an instance variable (istr_doc). On a button on this window then I open a response window and pass the structure to it as shown below:
____________
istr_doc.retcode = 0
istr_doc.doc_name = ""
...other variables set...
OpenWithParm(w_win2, istr_doc)
____________
On my response window (w_win2) I also have an instance of the structure (istr_doc_r). This gets set with the passed in values via the Message.PowerObjectParm.
There is also a datawindow (dw_areas) where the user selects a number of different areas which I want to pass back to the main window when the SAVE button is clicked.
So on my SAVE button clicked event I have the following code as shown below:
____________
istr_doc_r.retcode = 1
istr_doc_r.docname = ...value set by user...
...other variables set...
istr_doc_r.areas = dw_areas
Parent.TriggerEvent(close!
)
____________
The close event then closes the response window returns the structure as shown below:
____________
CloseWithReturn(this, istr_doc_r)
____________
Back in my main window (w_win1) I immediately update my structure (istr_doc) with the Message.PowerObjectParm to get the returned values and then proceed to do further work on those values before updating my records.
My problem is that when I attempt to access the datawindow which has been passed back via the structure (istr_doc.areas) I get an "Null object reference" error and a crash. I can access any other of the variables (e.g. istr_doc.retcode) being passed back through the structure with no difficulty.
I have checked in the response window (via a RowCount) and the datawindow in the structure is valid before I close the response window but somehow it is not valid when it has been passed back in the main window.
Am I missing something obvious here?
__________________________
__________
__________
__________
______
PS - I know I could do a workaround for this problem using an nvo to pass the data between the windows but this application has a standard of using structures to pass values and I'd like to keep to that standard if possible.