This is an old revision of the document!
incomingValue; must be added to the end of all scripts
Why?
To avoid a script running multiple times when there is an error in the script (especially at runtime) the script will not complete execution unless there is an incomingValue; (or any other output, such as a calculated value) as the very last line of a script.
For example if you do this:
if (incomingValue.getQuality()==0) {
//do something here
} else {
//do nothing
}
There is no final value calculated so this script will execute exactly one time after the application starts up
If you do this:
if (incomingValue.getQuality()==0) {
//do something here
} else {
//do nothing
}
incomingValue;
this script will execute every time a new value is received by the script which is likely what you intend to happen.
This is a change which was implemented in early 2024 so if you have old projects without this final “incomingValue;” you can add this last line in the script manually to every script, or you can use the steps below (please make a copy of your project before doing this in case there is a corruption of the file after the process).
How to add incomingValue; to every script in a .tsx (TransSECS project file)
- Make a copy of your project tsx (as a backup) - Exit TransSECS (TransSECS should not be running) - On Windows use Notepad++ to load the project tsx. You can change the language to XML, but this is not necessary
First Pass: replace all existing "incomingValue;" so these are preserved
- Use Ctrl-H to bring up the panel for the Find and Replace
- Set up the Replace:
- Search Mode: Regular Expression
- Find what: incomingValue\s*;\s*(</Script>)
- Replace with: incomingValue;<!–OK, already in place–>\1
- Execute the replace: Click Replace All
You should see a count on the bottom bar of this panel of how many original “incomingValue;” were replaced
Second Pass: add new incomingValue; where needed to end a script (and ignore the incomingValue; already in place)
- Set up the Replace:
- Search Mode: Regular Expression
- Find what: (?<!<!–OK, already in place–>)</Script>
- Replace with: incomingValue; <!– added mmmddyyyy–> </Script>
- Execute the replace: Click Replace All

