||Re: VARIABLE DECLARATION
Mustansir Ghor <firstname.lastname@example.org>
||Fri, 13 Apr 2018 22:57:33 +0300
This mail is so important and I have read it several times just to
understand form execution mechanism. Truly you are an expert on the
matter and many others.
Here as I understand readmodel() is similar to READ in DOS, where
execution stops waiting for user response. But rest all commands are
executed and load in memory. Based on mouse and keyboard action they
respond. Component order are based on Z order (if Tab is followed) but
any component can be executed independently (if enabled). This can be
for all wfm, rep, mnu objects.
Several times Ken Sir mentioned that data objects can be treated
differently as they can not be associated with form. But we have
queries attached to a form. There are situations where form objects are
in the same commands with data objects. On otherhand we have SQL
statements can be executed independently within the form.
One may ask What is the point. I am unable clearly understand how and
where data objects can be used correctly in a form. Just an example On
one event I have command form.mq1.rowset.findkey(form.cbitem.value). If
the record is found (event execution completed), and user clicks another
different event, will form.mq1.rowset record position remain to the same
record (assume it was not referred in the current event) as it stopped
at found position.
On 3/8/2018 1:50 PM, Andy Taylor wrote:
> Therefore, once the form opens, f, which is local in scope, disappears.
> What about mipdname? Well, that was private in scope and as we have hit a return point on the processing of ghor22.wfm
> it too will disappear.
> The only thing left (hanging in memory) is the form. The form can, obviously, no longer see f, mipdname or bModal.
> The reason the form stays in memory is because windows has an open handle to it. Once you close it the form will
> also disappear from memory. This is handled automatically by dBase and works as expected UNLESS your programming
> has managed to insert another memory pointer to that form, in which case it will still exist in memory. That, however, is
> beyond the scope of this discussion.