Interface Changes 3.19 and Newer
Almost all API changes do not require a customer source code to be changed. Still, note the following changes:
- Obsolete classes: OaNoPosix, OaResources, OaLocale, OaManager, FileSysSlim, StringStream.
- Many functions (e.g. in the class
Resources
), which were declared deprecated in 3.18, are no longer deprecated. - Using DynPtrArray no longer requires to include DynPtrArray.cxx (this is already done in its .hxx file).
- For some classes their comparison operator return values were changed from int to bool, e.g. CharString, all Variable-derived classes
- For some classes their methods were changed from a PVSSboolean return value to the std. C++ bool type.
- Variable::isAUncached() was an implementation detail for optimization and was wrongly defined as public. This has been changed. isAUncached() is no longer accessible. Use the correct isA() variants instead.
- For the PVSSTime stream output two delimiters were changed to be equal to the std. WinCC_OA format.
-
Many classes have changed "const char *" arguments to "const CharString &".
This is also needed to make the numeric-value constructors of CharString (e.g. CharString(int)) explicit to avoid ambiguity in the case of a given 0 (int), since this would lead to a string containing "0" instead of an empty string.
This leads to old code using 0 (int) as a null pointer. The code does not compile (it is no longer unambiguous) and a code change to use a nullptr instead is required.
-
In the Visual Studio settings (Configuration Properties) on the Advanced tab, select the option Force Include File and add the following file:
{API_ROOT}/include/winnt/win32_nocmake.h
.