On Feb 9, 2007, at 7:10 PM, Mark Wieder wrote:
If you set error to False you still have control over the result value
returned to the engine when your external routine exits. This is the
proper way to signal to the engine that an error has occurred, and
that way the script that called the external routine can parse the
result and determine whether or not an error has occurred.
For functions you will normally return your result in the "it"
variable and thus you have "the result" available for an error
message. I've got a writeup on this at
http://www.revjournal.com/tutorials/everything-you-know.html
Interesting article Mark. I wasn't aware that the result was set
when calling functions.
As for storing your result in the "it" variable, one potential issue
I see (if I am understanding correctly) is that functions defined in
an external would have different basic behavior than functions
defined in Revolution (Transcript). Any function defined in an
external would have to be called like this in order to work properly:
put getTheNumberFour() into theError
answer it -- CONTAINS THE NUMBER "4"
because if the user called the external function like this:
get getTheNumberFour()
then both "it" and "the result" would contain the error message.
Plus you would lose the ability to put result of the function into a
meaning variable name without adding another assignment (i.e. put it
into theMeaningVariableName).
I think this is why I prefer something along the lines of a
GetLastError() call. Or another option would be to define some other
variable that was responsible for holding errors from external
functions. Something like "revLastExternalError". By always setting
this variable to any error messages from within the external you
maintain standard behavior for functions and have a variable to check
for errors:
put getTheNumberFour() into theNumberFour
if revLastExternalError is not empty then
answer "How did it mess up returning the number 4? (" &
revLastExternalError & ")"
end if
--
Trevor DeVore
Blue Mango Learning Systems - www.bluemangolearning.com
[EMAIL PROTECTED]
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution