>Well, it would have helped if you had answered my question(s). You are using a contradiction of terms. A top level form is an SDI application. An MDI application is running a standard VFP application where you have multiple documents but there is only a single entry in the windows taskbar.
My main form (frmDeskTop) is an MDI form - it is also a Top Level Form.
>
>>how do I reference the top-level form so I can set properties of it - trigger methods etc...
>
>Like I said, where are you trying to reference the top level form from?
From an "In Top Level MDI form"
Is it from a child form launched from the top level form? I'll assume this to be the case.
That's correct
>
>You launch your child form from your top level form. The child form is a VCX based form that is created using CreateObject()
>
>The SDI (top level) form is frmDesktop. From which ever method you launch your child form, it should look something like this.
No - MDI top level form is frmDesktop
>
local oChild
oChild = createobject('frmChild', thisform)
>
>In the init event of frmChild, you have a parameter that receives the object reference of the calling form (the second argument of the above call).
>
>In the child form, you have a property called, say, oCaller. In the init of the child, you would say something like :-
>
FUNCTION Init(toCaller)
this.oCaller = m.toCaller
>
>Now, when the init goes out of scope, the calling form's object reference is stored to the child form's property oCaller.
>
>So, the manipulate methods/properties in the calling form (frmDesktop) from the child form frmChild, you simply state something like :-
>
>thisform.oCaller.MethodYouWantInTheCallingForm()
>thisform.oCaller.PropertyToSetInTheCallingForm = "Whatever"
>
Absolutely - I have tried this and I get the error message "Unknown member frmDesktop"
>My Wife is calling so, I am going to bed now <s>. HTH
>
>-=Gary
I got in trouble too! Sorry mate!