I was attempting to update a CR1000 with a new program that uses the pointer operators ! and @.
The program update will not compile on the CR1000. The datalogger is reporting its OS as:
OSVersion: CR1000.Std.28 OSDate: 01/28/2015 OSSignature: 29713 SerialNumber: 70325 RevBoard: 019.008
My understanding is that OS28 does introduce support for pointer operations?
192. Added ! and @ operators that provides pointers to variables.
OS28 did add support for pointer operators. The pointer syntax in CRBasic is a bit different than in C++ or VB.Net
Refer to the help in CRBasic for an example.
I should add the that program version I am using has been compiled and tested successfully locally, but it fails to compile on the station mentioned in the post. When I comment out the lines that use the pointer operators, it compiles and runs.
Check what operating system version is on the datalogger. The compiler you have on your computer isn't necesarily the same as the OS version you have on your datalogger.
Check what operating system version is on the datalogger.
I posted the OS version of the datalogger in my original post CR1000.Std.28
I reverted the OS to 28 from 29 on my bench datalogger to try and replicate error. Same result: compile error.
Incomplete expression: Pointer = @(StaticVariableNames(I))
As you pointed out, the compiler on my PC is a different version:
C:\Campbellsci\Lib\Compilers>cr1comp -d cr1comp VERSION:CR1000.Std.29 DATE:02/16/2016
Is it possible to download previous versions of compilers?
Found the reason, fixed in OS29:
Fixed Pointer = @(Setting) where variable reference by setting is an array of type string.