The Cicode debug window is used for quick
and dirty execution of Cicode functions. It is not a full
implementation, and should not be used for normal plant operation.
It should only be used for simple debugging. One of the
restrictions of the Cicode debug window is that it will not always
display the correct return value of a Cicode function. If you start
a Cicode function that does not execute immediately - and returns
its result in one time slice, then the Cicode debug window will
display garbage for the return value.
This occurs when the Cicode function is preempted, or blocked.
The Cicode debug window will resume execution, and will display
what it thinks is the final value of the Cicode function. If the
Cicode function is still executing, then return value will be
incorrect. If you are testing a Cicode function and the return
value looks like it is incorrect, test it by another method (not
using the Cicode debug window).
Functions known to have this effect are: FileCopy(), MsgRPC,
Input(), Message, FormRead() and any blocking type function or
function that takes a long time to run. This would include Cicode
functions written by users.
|