by Dana Worley | Updated: 07/19/2017 | Comments: 0
In an April 2016 blog article (“Handling New Device Drivers in a Changing Windows World”), I wrote that Campbell Scientific was ending Windows XP support for our hardware device drivers. In that article, I also mentioned that Windows XP support might end for other products in the future. While we strive to maintain compatibility across our product line and with other manufacturers' products that we support, sometimes advancing technology or unmitigated security risks require the end of support for some products.
Starting with the releases of LoggerNet 4.5, PC200W 4.5, PC400 4.5, and DevConfig 2.15, we are discontinuing support for Windows Vista and Windows XP.
If you attempt to install new or upgrade existing Campbell Scientific software that is released after 30 June 2017, you will receive a warning message that the software may not function correctly:
You can continue with the installation by choosing Yes, but as the message indicates, the software may not function correctly.
So, what does “may not function correctly” mean? Presently, the only known incompatibilities are with device drivers, as discussed in the device driver article referenced above. However, because we no longer develop for or test these operating systems, there may be other incompatibilities of which we are unaware.
If you are operating Campbell Scientific software under Windows XP or Windows Vista, I strongly encourage you to begin making plans now to upgrade to a supported and actively maintained operating system. This helps ensure you are running in a secure and stable environment, and you will be less likely to experience Windows OS-related compatibility issues with Campbell Scientific products.
Microsoft maintains a Windows Lifecycle Fact Sheet that can be found via an Internet search. This fact sheet lists anticipated end-of-support dates for its operating systems. Keep in mind when upgrading to a new operating system, that Microsoft ended its mainstream support for Windows 7 in January 2015, and plans to end extended support in January 2020. |
I hope this article has provided the information you need to plan for the changes to our software installations. If you have questions or comments about these changes, please leave a comment below.
Comments
kelly | 02/16/2018 at 04:56 AM
This is a few lines from the help file.
"
Pointers can be accessed within expressions:
!(Pointer + X)
will access the value at Pointer + X.
"
so, using this call:
UnpackArray(PkAryVal, @UnPack(),12)
Why does this work:
Sub UnpackArray(Val As Long, AryPtr As Long, Elements As Long)
Dim Ref As Long
Dim x As Long
For x = 0 To Elements - 1
Ref = AryPtr + x
!Ref = (Val >> x AND 1)
Next x
EndSub
but not this:
Sub UnpackArray(Val As Long, AryPtr As Long, Elements As Long)
Dim x As Long
For x = 0 To Elements - 1
!(AryPtr + x) = (Val >> x AND 1)
Next x
EndSub
Testing on CR6 os 6.08
Thanks for any light that can be shed on this issue
crs | 04/07/2018 at 03:51 PM
I would love to see more blog posts / tutorials on using pointers in CRBasic.
I am trying to write a function that can accept any type of variable (or array) and perform some operation on it (e.g., using TypeOf() and SprintF()), but not having any luck recognizing the original variable within my function. How does the following, from the CRBasic help file, apply?
By default, pointer variables are of type Long, but they can be typed using Float!, Long!, Boolean!, or String! (e.g., Dim P as Float!). If pointers are not typed, the summation of the values pointed to truncates the floats before the addition.
Also, how would I handle an array within the function? Does the pointer offset have to be scaled for each successive array element by the size of that element?
Please log in or register to comment.