I just had something quite strange happen - something I haven't seen in over 2 decades of Crestron programming.
I have an S module with several other S and S+ modules inside. I needed to troubleshoot an issue in one of the S+ modules, so I uncommented enable_trace and added a few additional trace statements, compile the S+, compile the smw, send, but no traces appear.
So, for a while I go down the rabbit hole of trying to figure out if something has changed with how trace works. Eventually, I notice that the line numbers being reported as having errors are not changing, despite the fact that I have made changes that have shifted the code around. I eventually add gaps so that the line numbers being returned don't actually have any code on them. The result is that the same line numbers are being reported as having errors.
I look at various compiled files for the module, both in the usrsplus?directory and in the compiled zip file for the program - all of the date stamps match when I re-complied?the S+ module.
I try various combinations?of resyncing the project, adding a second copy from the library and copying over the signals, etc. I even try adding extra signals to the S+ to verify it is synced with the program. The extra signals show up, so I remove them and re-compile, but still no change - no trace statements show and empty line numbers are still reporting errors.
The only thing that seemed to fix it was saving the S+ as a different name and adding the new S+ from the library. After doing this, everything is as expected. So then, I was able to go back, delete all files from the original?S+ file name. Re-save the S+ as the original file name, re-complie, replace the S+, and I am off to the races.
This happened in 2 different SIMPL programs. The only thing different about how these were developed than how I have done things in the past is that, for both programs, I started the development of the modules by saving them in the project directory. Once they were relatively stable and I knew I was going to continue in this direction, I copied the modules into the usrmacro and usrplus?directories. This isn't a workflow I have done very frequently. Usually, I have developed by adding new modules to the standard macro directories.?
I don't know if that workflow has something to do with it. But every indication was that .smw was using the library versions. For one thing, I removed the ones in the program directory. Additionally, the icon color changed to normal and I no longer got the pop-up window on program load letting me know which version was being used.
Is this a known issue that I have been fortunate enough to avoid all these years? Sorry for the long post and thank you in advance!