Include File or Script Compiles but Changes are Not Picked Up

Problem

You compile an include file or script, but changes that you made are not used when you run the script.

Solutions

Did you change the wrong include file?

Make sure that the include file you are compiling is the same as the file that is being used by the script. Just because you have an include file open and have just compiled it does not mean that it is being used by the script. The include file that the script will use is either specified in Runtime Options (Use Files field) or by a use statement in the script.

Is there a time-stamp problem?

If the time stamp for the file on disk is later than the machine time when you do Run > Compile, then the compile does not actually happen and no message is given. This can happen if two machines are sharing a file system where the files are being written out and the time on the machines is not synchronized.

By default, Silk Test Classic only compiles files that need compiling, based on the date of the existing object files and the system clock. This way, you don't have to wait to recompile all files each time a change is made to one file.

If you need to, you can force Silk Test Classic to compile all files by selecting Run > Compile All. Run > Compile All compiles the script or suite and all dependent include files, even if they have not changed since they were last compiled. It also compiles files listed in the Use Files field in the Runtime Options dialog and the compiler constants declared in the Runtime Options dialog. Finally, it compiles the include files loaded at startup, if needed.

Are your object files corrupted?

Sometimes a Silk Test Classic object (.ino or .to) file can become corrupted. Sometimes a corrupted object file can cause Silk Test Classic to assume that the existing compile is up to date and to skip the recompile without any message.

To work around this, delete all .ino and .to files in the directories containing the .inc and .t files you are trying to compile, then compile again.