What this means is that currently you could reference a non-existent 4D method in your code, but that code might not be executed because it is in an if/else/end if. In Active4D 2004 ALL code is checked for validity when the file is compiled, so this kind of situation will trigger a compile-time error.
This validation will only occur when the code is being compiled, right?
Validation also occurs during runtime for the cases where validity could not be determined at compile time.
So if a non-existent method is called at runtime in an if-else block, where the logic doesn't follow the non-matching conditional branch, then the error will still be noticed?
Yes, because at compile-time no evaluation of the condition is done. The entire if-else block has to be compiled, and since I will store the 4D method internal ID for maximum speed, it has to exist at compile time.
This also means that if you delete a method and then recreate it with the same name, you have to recompile because the compiled code is still referencing the deleted method ID. This is hopefully not a frequent occurrence.
Does this apply to other functional code or just to non-existent method calls? When could validation fail at compile time?
All code is checked to ensure it is syntactically correct at compile time. In most cases I can't check for semantic correctness until runtime.
Note that I plan on adding an option to declare a variable as a fixed type. This will allow the compiler to do type checking.
Regards,
Aparajita Victory-Heart Productions [EMAIL PROTECTED] www.aparajitaworld.com
"If you dare to fail, you are bound to succeed." - Sri Chinmoy | www.srichinmoylibrary.com
