Migration of a class from CS version 3.1X to CS version 3.20.
General Things
In principle, class (im)ported from
CS version 3.1X (LV8.2.1) will work with
CS version 3.20 (
LV2009SPX). However, there are a few issues that should be considered
- "For Friends Only": With version 3.1X, some classes had a folder "forFriendsOnly", indicating methods that were reserved for friend classes. A private method "is a friend" controlled the usage of friend-methods. This has been changed with version 3.20, since LV2009SP1 supports the access scope "community". Thus, the access scope of the folder "forFriendsOnly" should be changed to "community" and friend classes added in the properties of a class library.
- Library Version. In previous versions, it was difficult to get information on the version of the classes in runtime systems. As a workaround, we added a method/routine "get library version" for each library/class that allows to obtain the version number of the library even in runtime systems. Have a look at the routine "get library version" in the UtilityLib as an example. It is recommended, that "get library version" is included in each class library.
- Reentrancy. In general (when not using things like shift-registers) re-entrant VIs should use "sharing clones" for reentrancy.
- GUIs should have a menu providing "file->exit", "windows", "help->about me..., about LabVIEW...) and so on.
Pitfalls with LV2009
- Command line arguments. When starting LabVIEW from the command line, the numbering of command line parameters has (again) changed with LV2009. Even worse: The numbering is even different, depending if the DSC module is used or not. To circumvent this probem, I have added routine "get commang line parameters" in the UtilityLib.
- VI-Server. When using "open application reference" to obtain a reference of another LabVIEW system on the same computer, LabVIEW may return its own application reference (in case opening the "other" application reference failed). Since no error is returned, this may lead to strange behaviour. However, we are using this technique only for the login to the CSAccessServer. In case of problems, try another TCP port.
- Linux. When using CS on Linux, one has to change the build specifications manually. With LV8.20, it was possible to use an identical project on both Windows and Linux without any changes. With LV2009, one needs to adjust the following things in the build specification manually:
- Information->Target filename: Remove the ".exe"
- Destinations-> Destination path: When transferring the project file from Windows, the destination path is set somewhere. Please set it manually to .../LVSCC/binaries/CS/LV2009 .
- Advanced->Use LabVIEW 8.x file layout: The file layout within binaries of LV2009 has changed compared to LV8.20. In general it is recommend to use the LV2009 layout. Warning: In binaries that are compiled with LV8.20 file layout, the checkmark becomes lost if the project file is transferred to Linux. This will result in broken code, especially when using functionality of VI server.
--
DietrichBeck - 24 Sep 2010