Re: Moving VFP 3.0 to 5.0 by Rush
Rush
Wed Aug 06 14:48:09 CDT 2003
Good catch! FoxPro up through VFP 3.0 (IIRC) allowed the use of
non-delimited comments in an IF/ENDIF command. Fox would parse the command
until a syntax error occurred, and assume that the error was actually a
comment. It would ignore the balance of the line. IOW;
IF .T. AND GoodName() note: GoodName() is in Library 2
instead of:
IF .T. AND GoodName() && note: GoodName() is in Library 2
was entirely acceptable - Fox would only 'see' it as:
IF .T. AND GoodName()
This could lead to undetected errors: if the command was mistyped as either:
IF .T. ANF GoodName() note: GoodName() is in Library 2
or:
IF .T. ANF GoodName() && note: GoodName() is in Library 2
Fox would ignore the 'ANF' typo, assuming that it was the start of the
comment, and GoodName() would never be evaluated.
This same behavior affected another command or two - FOR/ENDFOR?
- Rush
"Jack Jackson" <jack@pebbleridge.com> wrote in message
news:MPG.199aeaefa3f36c6989788@msnews.microsoft.com...
> In article <a05f01c35c44$32eb0360$a001280a@phx.gbl>,
> carloselopezs@yahoo.com says...
> > I develope in VFP 5.0, but all my files were in VFP3.0, so=20
> > when i want to save a record in a form, VFP5.0 send me the=20
> > following error message:
> >
> > IF !m.lSuccess &failed to lock record
> > Error: 36
> > Command contains unrecognized phrese/keyword.
> > Method: updaterows
> > Line: 53
> >
>
> The first line listed above has a syntax error. There should be two &
> characters to start the comment. Did you type it wrong in this message
> or is it wrong in your source?