Error 1097 - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: DLL & externer Code (/Forum-DLL-externer-Code) +---- Thema: Error 1097 (/Thread-Error-1097) |
Error 1097 - katanad - 15.06.2016 09:15 Hi zusammen, ich bin neu mit Labview, insbesondere mit DLL einbinden. Ich möchte jetzt ein LED-Device mit Labview kontrollieren. Ein Kollege von mir hat ein Wrapper mit Visual Studio 2012 geschrieben. Ich habe ein Problem mit eine Funktion darin. Die c code sind so API *char getdevice(int devNo) { char *selectdevice; selectdevice = getselectdevice(devNo); return selectdevice; } Funktion getselectdevice(devNo) ist c++ Funktion, um die device zu kommunizieren. Parameter devNo ist für wie viele Devices verbunden sind.(Bei mir nur ein) Ich benutze Lv2011 und habe die DLL so konfiguriert. Thread: run in any Thread Calling convention: C Parameter return type: String C String Pointer devNo: Numeric signed 32-bit Integer So funktioniert nicht. Dann habe ich das Verfahren von der untern Link versucht(mit getValuebyPointer und return type zu signed pointer-sized integer geändert) leider kriege ich immer die Errorcode 1097 https://decibel.ni.com/content/docs/DOC-9091 Danke im Voraus RE: Error 1097 - rolfk - 15.06.2016 09:47 (15.06.2016 09:15 )katanad schrieb: Hi zusammen, Also Code: API *char getdevice(int devNo) sollte wohl Code: API char* getdevice(int devNo) sein, sonst müsste der C Compiler protestieren. Und wenn das so ist, dann sollte Deine ursprüngliche Parameterkonfiguration funktionieren. Und dann ist natürlich die ganz grosse Preisfrage: wie ist API wohl definiert in den entsprechenden Headern??????? Könnte das soetwas wie __cdecl oder __stdcall enthalten? Dann müsste man in der Call Library Node natürlich die Calling Convention entsprechend anpassen. RE: Error 1097 - katanad - 15.06.2016 11:31 (15.06.2016 09:47 )rolfk schrieb: Also *char und char* ist mein Fehler. In Code steht char* Und in Header Datei steht sowas #ifdef WRAPPER_EXPORTS #define API __declspec(dllexport) #else #define API __declspec(dllimport) #endif |