Here's an odd one:
Today, in my VFP 9 SP1 production .exe, my error logger reported VFP Error
11 ("Function argument value, type, or count is invalid.") on a call from a
form like this:
MyForm.MyMethod:
BooleanResult =
oMyObject.Method(THISFORM,"specifictablename",oMyOtherObject.Method("fieldname"))
** end method**
This system has been in operation since late 2007. I normally have zero
problems passing methods as parameters to other methods, so this surprised me.
The data types of the passed variables are not really relevant:
oMyOtherObject.Method() may return an empty string or an integer greater
than 0.
oMyObject.Method() doesn't validate the parameters, but when
oMyObject.Method() receives "specifictablename" as the second parm, it
calls another method of oMyObject that will return .T. if the type of data
returned by oMyOtherObject.Method() is an EMPTY() value of any type, and
then passes that boolean .T. value back.
In addition, the stack trace shows the error occurring on the
oMyObject.Method() call, not any of the methods lower down, and the error
is not "data type mismatch". This would seem to suggest that VFP, in this
one isolated instance. hiccupped on a method passed as a parameter.
Again, I've NEVER seen this before in the entire 8 year history of this
application. What could account for this? Could there be some kind of
timing issue involved in the resolution of the method call passed as a
parameter?
Is passing a method as a parameter to another method an official no-no in VFP?
As a precaution, I've separated out the oMyOtherObject.Method() call and
let it populate a variable that I now pass to oMyObject.Method().
But I find this interesting, and strange, and I wonder if anyone else has
seen this.
Thanks.
Ken Dibble
www.stic-cil.org
_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message:
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the
author, and do not constitute legal or medical advice. This statement is added
to the messages for those lawyers who are too stupid to see the obvious.