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
.