Im Folgenden finden Sie einige gängige Probleme, die bei der Verwenden des DLL-Importassistenten auftreten können. Falls die aufgelisteten Lösungsvorschläge nicht hilfreich sind, müssen Sie möglicherweise die DLL auf Fehler untersuchen.

Der Assistent kann Funktionen nicht finden

In der Funktionen-Liste auf der Seite Zu konvertierende Funktionen auswählen des Assistenten DLL importieren werden alle Funktionen in der angegebenen DLL angezeigt. Wenn nach der Analyse der Header-Datei keine Funktionen angezeigt werden, überprüfen Sie, ob der Pfad zu der DLL korrekt ist und dass die DLL Funktionen enthält.

Der Assistent findet Funktionen, die nicht importiert werden können

Im Assistenten DLL importieren werden alle Funktionen aufgelistet, die sich in der angegebenen DLL befinden. Es können aber nur die Funktionen importiert werden, die der Assistent fehlerfrei von der Header-Datei analysieren kann. Die Warnungen, die bei Auswahl einer Funktion in der Liste Funktionen auf der Seite Zu konvertierende Funktionen auswählen angezeigt werden, können beim Erkennen von möglichen Problemen hilfreich sein. Überprüfen Sie, dass in der Header-Datei alle notwendigen Deklarationen der Funktionen enthalten sind. Jede Funktionendeklaration muss die Aufrufkonvention, den Datentyp des Ausgabewerts und definierte Parameter enthalten. Zum Ändern der Header-Datei können Sie die Datei direkt bearbeiten oder auf der Seite Einzuschließende Pfade und Präprozessor-Definitionen konfigurieren des Assistenten Symboldefinitionen hinzufügen.

In dieser Beispiel-Header-Datei wird functionA nur kompiliert, wenn WIN32 definiert ist:

#ifdef WIN32 int functionA(int para); #endif

Wenn functionA von LabVIEW importiert werden soll, die Header-Datei aber WIN32 nicht definiert, können Sie entweder die Header-Datei direkt bearbeiten, sodass WIN32 definiert wird oder Sie können WIN32 im DLL-Importassistenten definieren. Zum Definieren von WIN32 im DLL-Importassistenten geben Sie WIN32 in das Textfeld Präprozessor-Definitionen auf der Seite Einzuschließende Pfade und Präprozessor-Definitionen konfigurieren ein.

Im folgenden Beispiel ist eine andere Funktion in einer Header-Datei enthalten. Hier wurde NIAPI nicht angegeben, so dass LabVIEW das Symbol nicht erkennt:

NIAPI int functionA(intpara);

Soll LabVIEW die Funktion importieren, können Sie in das Dialogfeld Präprozessor-Definitionen den Eintrag NIAPI=_stdcall hinzufügen und NIAPI auf diese Weise definieren.

Der Assistent kann deklarierte Funktionen nicht finden

In der Funktionen-Liste werden nur die Funktionen angezeigt, die sich in der DLL befinden. Wenn die Header-Datei Deklarationen für Funktionen enthält, die sich nicht in der DLL befinden, werden diese Funktionen nicht aufgelistet. Zur Anzeige aller Funktionen, die in der Header-Datei deklariert sind (unabhängig davon, ob sie sich in der DLL befinden), aktivieren Sie die Option DLL befindet sich nicht auf lokalem Computer auf der Seite DLL- und Header-Datei wählen. Dann werden alle Funktionen aufgelistet, die in der Header-Datei deklariert sind, wenn Sie erneut die Seite Zu konvertierende Funktionen auswählen aufrufen. Vergewissern Sie sich, dass Sie die Option vor dem Erzeugen der Wrapper-VIs deaktivieren.

Der Assistent kann verschachtelte Header-Dateien nicht finden

Wenn die angegebene Header-Datei verschachtelte Header-Dateien enthält, müssen die Pfade zu diesen verschachtelten Dateien im Textfeld Einzuschließende Pfade auf der Seite Einzuschließende Pfade und Präprozessor-Definitionen konfigurieren angegeben werden. Wenn Sie keine einzuschließenden Pfade für verschachtelte Header-Dateien angeben, kann die Header-Datei nicht korrekt analysiert werden.