Skip to main content

Dialog: Projekteinstellungen: Bibliotheksentwicklung

Symbol: _cds_icon_library_manager.png

Funktion: Konfiguration der Parameter für den Befehl Überprüfe alle Poolobjekte. Dieser Befehl wird speziell bei Bibliotheken verwendet, um die korrekte Übersetzbarkeit zu überprüfen.

Aufruf: Befehl ProjektProjekteinstellungen, Kategorie Bibliotheksentwicklung

Voraussetzung: Ein Projekt ist geöffnet.

Während des Übersetzungsvorgangs einer Applikation werden nur die Bausteine/Programme/Funktionen übersetzt, die tatsächlich vom Applikationscode direkt oder indirekt verwendet werden. Der Befehl Überprüfe alle Poolobjekte hingegen prüft auch die nicht verwendeten Bausteine/Programme/Funktionen. Dabei sollten, wenn möglich, alle Ablaufpfade im Code berücksichtigt werden.

Tabelle 138. Zu verwendende Compiler-Defines

Durchsuchen

Durchsucht alle Bausteine/Programme/Funktionen der Bibliothek und trägt die gefundenen Compilerdefines als komma-separierte Liste in die Übersicht Zu verwendende Compiler-Defines ein.

Bei kaskadierenden {IF defined(…)}-{ELSIF defined(…)}-Anweisungen wird nur das Define bei {IF} berücksichtigt.



Tabelle 139. Überprüfe alle Pool-Objekte

Pointergröße

Wenn Sie in der Bibliothek eine POINTER-Variable in einer DWORD-Variablen abspeichern, ist diese Bibliothek nur für 32bit-Geräte übersetzbar.

Um dieses Problem zu entdecken und zu vermeiden, können Sie die Pointergröße angeben, die beim Befehl Überprüfe alle Poolobjekte angenommen werden soll. Sie können die folgenden Werte auswählen:

  • 32 Bit

  • 64 Bit

  • 32 und 64 Bit

Nachfolgendes Beispiel zeigt, wie Sie bei Pointergröße 64 Bit eine ungültige Zuweisungen mit dem Befehl Überprüfe alle Poolobjekte entdecken:

FUNCTION F : INT
VAR
               
ptr : POINTER TO BYTE;
               
ptrSave : DWORD;
END_VAR
ptrSave := ptr;

Diese Zuweisung ergibt den Fehler C0032: Typ 'POINTER TO BYTE' kann nicht in Typ 'DWORD' konvertiert werden.

Verwenden Sie folgende Deklaration für ptrSave, um diesen Fehler zu vermeiden:

ptrSave : __XWORD;


Für weitere Informationen siehe: Überprüfe alle Poolobjekte