Symbol: 
Funktion: Konfiguration der Parameter für den Befehl ⮫ Check all Pool Objects. Dieser Befehl wird insbesondere für Bibliotheken verwendet, um zu prüfen, ob alle Objekte korrekt kompiliert werden können.
Rufen Sie an: Projekt → Projekteinstellungen, Kategorie Bibliotheksentwicklung
Anforderung: Ein Projekt ist eröffnet.
Während des Kompilierungsprozesses einer Anwendung werden nur die Funktionsblöcke/Programme/Funktionen kompiliert, die tatsächlich direkt oder indirekt vom Anwendungscode verwendet werden. Der Befehl Check all Pool Objects prüft jedoch auch die Funktionsblöcke/Programme/Funktionen, die nicht verwendet werden. Wenn möglich, sollten alle Ausführungswege im Code berücksichtigt werden.
|
Scannen |
Durchsucht alle Funktionsblöcke/Programme/Funktionen der Bibliothek und trägt die gefundenen Compiler-Definitionen als kommagetrennte Liste in die Übersicht Zu verwendende Compiler-Definitionen ein. Bei kaskadierenden {IF defined(...)}-{ELSIF defined(...)}-Anweisungen wird nur das Define bei {IF} berücksichtigt. |
|
Zu verwendende Zeigergröße |
Wenn Sie eine POINTER-Variable in einer DWORD-Variable in der Bibliothek speichern, kann diese Bibliothek nur für 32-Bit-Geräte kompiliert werden. Um dieses Problem zu erkennen und zu vermeiden, können Sie die Zeigergröße angeben, die für den Befehl "Check all Pool Objects" angegeben werden soll. Sie können die folgenden Werte auswählen:
Das folgende Beispiel zeigt, wie Sie den Befehl Check all Pool Objects verwenden, um ungültige Zuweisungen für die 64-Bit-Zeigergröße zu erkennen: FUNCTION F : INT VAR ptr : POINTER TO BYTE; ptrSave : DWORD; END_VAR ptrSave := ptr; Diese Zuordnung führt zu dem Fehler C0032: Der Typ 'POINTER TO BYTE' kann nicht in den Typ 'DWORD' konvertiert werden. Verwenden Sie die folgende Deklaration für ptrSave, um diesen Fehler zu vermeiden: ptrSave : __XWORD; |
Für weitere Informationen siehe: ⮫ Alle Pool-Objekte prüfen