>By the way, Nadya
>
>This code has a problem.
>
>
LPARAMETERS nError, cMethod, nLine, tcSys16, toErrObj
>IF m.nError = 1839
>
> IF VARTYPE(m.plStop) = "L" AND m.plStop
> * Have we stopped already?
> ELSE
> RETRY
> ENDIF
>ELSE
> DODEFAULT(nError, cMethod, nLine, tcSys16, toErrObj)
>ENDIF
>
>I think you should code it like this...
>
>
LPARAMETERS m.tnError, m.tcMethod, m.tnLine, m.tcSys16, m.toErrObj
>IF m.tnError = 1839
>
> IF VARTYPE(m.plStop) = "L" AND m.plStop
> * Have we stopped already?
> ELSE
> RETRY
> ENDIF
>ELSE
> DODEFAULT(m.tnError, m.tcMethod, m.tnLine, m.tcSys16, m.toErrObj)
>ENDIF
>
>Because! nError with or without the mdot is possibly a field name in some naming conventions. You can run into a conflict. Further, you are mixing different types of notations. nError and toErr. Every parameter is supposed to be prefaced with "t". You can and IMO should name them properly.
Mike,
I agree with you, but in that particular case the parameters came from the framework and were named this way there. I can rename them anyway, that's a good suggestion. I also thought in the morning today that I can really do a little do while loop to be 100% consistent. If the user will continue to press No on the dialog, he (she) will have requery again and again, untill he (she) either let it go through or answer "Yes". Of course, nobody is going to do that except me in my tests :) Rerty, BTW, doesn't work. I already found it.
If it's not broken, fix it until it is.
My Blog