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.