Guten Abend,
seit geraumer Zeit versuche ich erfolglos, eine dll einzubinden.
Für diese dll steht mir die .h Datei zur Verfügung, trotzdem schaffe ich es nicht...
Auszug aus der header-Datei:
Code:
// WV_BED_LIST BedList ;
// int NumberOfBeds ;
//
// int ReturnCode = WvListBeds("129.73.42.112", "guest", "winview", &BedList, &NumberOfBeds) ;
//
IMPORT_FUNCTION int WINAPI WvListBeds(const TCHAR *pServerName, const TCHAR *pUserName, const TCHAR *pPassword, WV_BED_LIST *pBedList, int *pNumberOfBeds) ;
Hier die structs:
Code:
typedef struct {
WV_BED_DESCRIPTION WvBeds[WV_MAX_BEDS_PER_SERVER] ;
} WV_BED_LIST ;
und
Code:
typedef struct {
TCHAR PatientName [WV_PATIENT_NAME_SIZE] ;
TCHAR PatientID [WV_PATIENT_ID_SIZE] ;
TCHAR BedLabel [WV_BED_LABEL_SIZE];
TCHAR CareUnit [WV_CARE_UNIT_SIZE];
TCHAR FileName [WV_FILE_NAME_SIZE];
TCHAR IPAddress [WV_IP_ADDRESS_SIZE];
TCHAR MulticastIP [WV_MULTICAST_IP_SIZE];
TCHAR DeviceType [WV_DEVICE_TYPE_SIZE];
WV_OPERATING_MODE DeviceStatus ;
WV_CONNECT_ID ConnectID ; // 0 if not connected
} WV_BED_DESCRIPTION ;
Das Blockdiagramm und die Einstellung habe ich als Anhang beigefügt.
Wird die Funktion aufgerufen, stürzt LabVIEW komplett ab.
Muss ich per DSNewPtr.vi einen Pointer übergeben? Nur woher weiß ich dann, welche Größe der Pointer benötigt?
Die Struktur für pBedList ist auch als Anhang dabei.
Eigentlich besitze ich brauchbare C/C++ Kenntnisse und habe prinzipiell auch Erfahrung mit LabVIEW. Nur die Kombination haut leider nicht hin...
Bin für jeden Denkansatz dankbar. Momentan tendiere ich zu DSNewPtr und MoveBlock.
Da ich zum testen jedes mal einige Kilometer fahren muss, möchte ich möglichst das übliche Trial & Error Spielchen vermeiden, wenn es geht.
Gute Nacht zusammen, für heute gebe ich auf...