Subject Re: dBASE PLUS tutorial on Ken Mayer's website
From Mervyn Bick <invalid@invalid.invald>
Date Sun, 16 Dec 2018 12:03:34 +0200
Newsgroups dbase.getting-started

On 2018-12-15 11:59 AM, Dennis Guay wrote:
> Hello folks.
>
> I am doing the dBASE PLUS tutorial from Ken Mayer's website.
>
> I have gotten as far as creating the customer.wfm
>
> when I run the form I get a program alert.
>
> It says Error: Not member of Class or Base class:
>            ROWSET_CANNAVIGATE
>
> I am confused as to how to fix this as the form seems to run as it should when I hit the
> ignore button in the program alert window.
>
> Any ideas anyone?

Hopefully you've found the cause of the problem by now but to come back
to your "confusion". :-)

A rowset's canNavigate event handler returns either true or false and,
depending on the returned value, either allows moving to a different
record or not.

An event's event handler, which can either be a function or a codeblock,
is normally assigned in the rowset's constructor code but it can be
assigned in, say, the form's onOpen event handler.

If the programmer doesn't assign an event handler to the rowset's
canNavigate event the default is to act as if the event handler had
returned true.  In other words dBASE doesn't check to see if you should
be allowed to move to a new record or not, it simply moves.

When it tried to assign the event handler to the canNavigate event dBASE
couldn't find the function and flagged an error. (Its pounds to pennies
that there's a typo in the function name.)  By clicking the Ignore
button you told dBASE not to bother and so it didn't assign anything to
the canNavigate event.

Although the program appeared to run as it should it wasn't doing the
intended checks before moving to a new record.

Mervyn.