Interface Änderungen 3.19 und höher

Fast alle API-Änderungen erfordern keine Änderung des Quellcodes des Kunden.

Beachten Sie jedoch folgenden Änderungen:

  • Obsolete Klassen: OaNoPosix, OaResources, OaLocale, OaManager, FileSysSlim, StringStream.
  • Viele Funktionen (z.B. in der Klasse Resources), die in 3.18 als veraltet erklärt wurden, sind nicht mehr veraltet.
  • Die Verwendung des DynPtrArray erfordert nicht mehr die DynPtrArray.cxx-Datei zu inkludieren (dies erfolgte bereits in der .hxx-Datei).
  • Für einige Klassen wurden die Rückgabewerte von Vergleichsoperatoren von int auf bool geändert, z.B. CharString, alle Variable-abgeleitete Klassen
  • Für einige Klassen wurden die Methoden von einem PVSSboolean-Rückgabewert auf den std. C++ bool-Typ geändert.
  • Variable::isAUncached() war ein Implementierungsdetail für die Optimierung und wurde fälschlicherweise als öffentlich definiert. Dies wurde geändert. isAUncached() ist nicht mehr zugänglich. Verwenden Sie stattdessen die isA()-Varianten.
  • Für die PVSSTime-Streamausgabe wurden zwei Trennzeichen so geändert, dass sie dem std. WinCC_OA-Format entsprechen.
  • Für viele Klassen wurden "const char *" Arguments auf "const CharString &" geändert.

    Dies erforderte auch, einige Konstruktoren (z.B. CharString(int)) explizit zu deklarieren, um Mehrdeutigkeiten zu vermeiden, falls als Argument 0 (int) übergeben wurde, da dies einen String mit dem Inhalt "0" erzeugen würde anstatt eines Leerstrings.

    Dies führt dazu, dass alter Code wo 0 (int) als Nullpointer übergeben wurde nun nicht mehr compiliert (nicht mehr eindeutig) und bedarf einer Codeänderung, um stattdessen nullptr zu übergeben.

  • In den Visual Studio-Einstellungen (Configuration Properties) auf der Advanced-Registerkarte selektieren Sie die Option

    Force Include File und fügen Sie die folgende Datei hinzu:

    {API_ROOT}/include/winnt/win32_nocmake.h.