Re: Do as I say, don't do as I do...
OK, I'll byte
[Found ~Found] - If Found is true AND Found is false then execute the code. So at runtime when the code is being executed sequentially, the code until the corresponding End in Cd_End_Object is NOT executed. However the compiler will have created
- Gosub label Create_object_name
- Object object_name
- End_object
- Gosub_Return
It is this [Found ~Found] Begin / End that makes a view deferred so the object will not be created by the runtime until a call is make to "Gosub the label". The command Deferred_View also creates the Activate_object_name procedure which is the code that makes the Gosub call and only then is the object created.
I have not checked the IF command code, but the reason this code has not been updated could be due to checking for mismatched begin / end blocks in methods.
Ian Smith
(Member of the SigCj project)