INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Fehlercode 1097 beim Aufrufen einer C++ DLL



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

15.07.2022, 08:27
Beitrag #1

Dr. Nuke Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jul 2022

2019
2018
EN



Fehlercode 1097 beim Aufrufen einer C++ DLL
Hallo LabVIEW-Forum Wink2,

ich habe diese Frage bereits im NI-Forum gestellt: Beitrag im NI-Forum jedoch bisher keine Antwort erhalten.

Daher hoffe ich, dass mir vielleicht hier jemand weiterhelfen kann.

Beim Aufruf einer C++ DLL zur Kommunikation mit einem Controller eines Profilprojektors erhalte ich den Fehler 1097, da die übergebenen Parameter wahrscheinlich nicht korrekt sind.
   

VI lv19_img; .DLL; Header-Datei; Beschreibung der Funktion und Parameter sowie Screenshots sind in einer .zip-Datei beigefügt.

Die Rückgabewerte von Funktionen, die mit dem Controller kommunizieren, sind immer vom Typ ReturnCode (die enum Definition des Fehlercodes).
In der Header-Datei ist ReturnCode definiert als:

enum class ReturnCode
{
RC_ERR_NONE = 0x0000,
RC_ERR_COMMUNICATION_NONE = 0x1000,
RC_ERR_CHECKSUM = 0x1001,
RC_ERR_LENGTH = 0x1002,
RC_ERR_VERSION = 0x1003,
RC_ERR_COMMAND = 0x1004,
RC_ERR_TIMEOUT = 0x1005,
RC_ERR_UNABLE_TO_EXECUTE = 0x2001,
RC_ERR_PART_FAILURE = 0x2002,
RC_ERR_OUT_OF_BOUND = 0x2003,
RC_ERR_INVALID_PARAM = 0x3001,
RC_ERR_INVALID_OPERATION = 0x3002,
RC_ERR_NOT_FOUND = 0x3003,
RC_ERR_INVALID_TARGET = 0x3004,
RC_ERR_ALREADY_EXISTS = 0x3005,
RC_ERR_MEMORY_ALLOCATION_ERROR = 0x3006,
RC_ERR_NO_SPACE = 0x3007,
RC_ERR_SDCARD_NOT_FOUND = 0x3008,
RC_ERR_WRITE_PROTECTED = 0x3009,
RC_ERR_READ_ONLY = 0x3010,
RC_ERR_HEAD_NOT_FOUND = 0x3011,
RC_ERR_FAIL = 0x3012,
RC_ERR_OUTPUT_ERROR = 0x3013,
RC_ERR_OVERFLOW_IMAGE_MEMORY = 0x3014,
RC_ERR_NO_USB_HDD = 0x3015,
RC_ERR_USB_WRITE_PROTECTED = 0x3016,
RC_ERR_BUFFER_SIZE = 0x5000,
RC_ERR_UNKNOWN = 0xF000,
};

Der Import der DLL-Funktionen mit dem Import Shared Library Wizard ist nicht möglich, da die folgenden Symbole nicht definiert sind: ReturnCode.
   

Also habe ich versucht, eine einfache Funktion (USB-Verbindung mit Controller herstellen) nur mit Returncode und ohne Parameterübergabe aufzurufen.

Das Format der Funktion zum Verbinden der USB-Kommunikation ist:
ReturnCode TMXIF_OpenUsbCommunication();
   

Mein Funktionsaufruf über Call Library Function:
int32_t TMXIF_OpenUsbCommunication (void);
   

Ich habe auch verschiedene Rückgabetypen ausprobiert oder Calling convention stdcall, erhalte aber immer den Fehler 1097.

Ich gehe davon aus, dass ich die Funktionen der DLL nicht aufrufen kann, da der Rückgabewert als "ReturnCode" definiert ist und deshalb der Funktionsaufruf nicht ohne weiteres in LabVIEW möglich ist.

Ich habe diesen Beitrag gefunden, in dem beschrieben wird, dass in diesem Fall zum korrekten Aufrufen der DLL eine Wrapper DLL geschrieben werden muss:
What is a Wrapper DLL and When Do I Need One?

Ich habe leider absolut keine Ahnung von C++ und konnte keine Beispiele finden, wie man eine Wrapper-DLL schreibt. Huh
Mir ist bewusst, dass die Erstellung einer Wrapper-DLL keine einfache Sache ist (vorallem für jemanden ohne Vorkenntnisse), aber irgendwo muss ich anfangen um weiterzukommen.
Außerdem wäre es gut zu wissen, ob die Ursache für den Fehler 1097 tatsächlich der ReturnCode ist oder ob ich einen anderen Fehler mache.

Ich wäre sehr dankbar für jede Hilfe oder Erklärung, die mich bei dem Problem weiterbringt. Smile


Angehängte Datei(en)
0.0 .zip  Open USB.zip (Größe: 790,67 KB / Downloads: 125)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30
Antwort schreiben 


Nachrichten in diesem Thema
Fehlercode 1097 beim Aufrufen einer C++ DLL - Dr. Nuke - 15.07.2022 08:27

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Picoscope Err 1097 ares2013 10 10.352 26.12.2020 14:03
Letzter Beitrag: hansi9990
  Fehler 1097 beim Übergeben von Arrays Flemmy 4 9.026 22.10.2017 21:07
Letzter Beitrag: rolfk
  Aufruf externe DLL Fehler 1097 Lars_Tragl 1 8.789 11.08.2016 16:13
Letzter Beitrag: Freddy
  Error 1097 katanad 2 10.833 15.06.2016 11:31
Letzter Beitrag: katanad
  DLL Fehler 1097 M.VI 1 5.992 02.12.2014 08:38
Letzter Beitrag: GerdW
  Fehler 1097 bei Knoten zum Aufruf externer Bibliotheken in CLF-Knoten.vi KingLui 2 7.149 16.09.2014 13:47
Letzter Beitrag: KingLui

Gehe zu: