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 

String an DLL übergeben



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!

30.01.2014, 15:41 (Dieser Beitrag wurde zuletzt bearbeitet: 30.01.2014 15:51 von rolfk.)
Beitrag #18

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: String an DLL übergeben
(30.01.2014 08:31 )Klausenwirt schrieb:  Hier die LV-Version 2010:

Also mal serious: int ist nicht short und deshalb auch nicht int16. int == int16 war mal zu Windows 3.1 Zeiten korrekt aber wir sind inzwischen doch beinahe 20 Jahre weiter und sogar in einem anderen Jahrtausend! Das effektiv verwendete Header File würde noch immer viele möglich Irtümer und Annahmen vermeiden.

Und was soll der ganze Klimbims mit new length minus old length? Man nehme x Characters (Bytes) füge noch mal x NULL Bytes an, um dann die LabVIEW CLN da noch einmal ein NULL Byte anfügen zu lassen (ja das macht die weil Du den Parameter als C String definiert hast) und teile der DLL dann mit dass doch nur x Bytes sind. Das ganze Arraygetue kann ganz einfach weg und Du kannst die Länge des ersten StringLength direkt an den dritten Parameter anschliessen.

Und jetzt kommt vielleicht der Clue: Handelt es sich hierbei eventuel um ein serialles Gerät? Könnte es sein dass die DLL oder das Gerät da ganz zufällig ein Carriage Return und/oder Linefeed am Ende erwartet? Den muss man schon explizit in LabVIEW an einen String anfügen, LabVIEW macht das nicht eigenmächtig und sehr zurecht.

Also was liefert Dir die Funktion denn bis jetzt?

Zudem die Deklaration der Funktion gemäss der Konfiguration in der CLN sollte wirklich sein:


extern "C" __cdecl unsigned short fnCRDLL(unsigned short start, char *cmd, unsigned short cmdLen);


(30.01.2014 08:45 )Y-P schrieb:  Hallo Rolf,

wenn Du noch kein LabVIEW 2013 hast, dann bitte im Profil erwähnen (da steht "ALLE seit 6.0"). Dann kann man das VI gleich auf eine frühere Version zurückspeichern. Danke.

Gruß Markus

(29.01.2014 21:19 )rolfk schrieb:  Bitte "Save for Previous" machen und als 2012 oder früher abspeichern.

2013 habe ich zwar, war aber noch kein zwingender Grund es zu installieren und dann warte ich immer bis SP1 rauskommt.

Rolf Kalbermatter
Technische Universität Delft, Dienst Elektronik und Mechanik
https://blog.kalbermatter.nl
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Nachrichten in diesem Thema
String an DLL übergeben - Klausenwirt - 24.01.2014, 08:46
RE: String an DLL übergeben - GerdW - 24.01.2014, 09:03
RE: String an DLL übergeben - GerdW - 24.01.2014, 09:36
RE: String an DLL übergeben - GerdW - 24.01.2014, 10:44
RE: String an DLL übergeben - GerdW - 24.01.2014, 11:17
RE: String an DLL übergeben - rolfk - 26.01.2014, 21:24
RE: String an DLL übergeben - rolfk - 27.01.2014, 17:59
RE: String an DLL übergeben - rolfk - 29.01.2014, 17:06
RE: String an DLL übergeben - rolfk - 29.01.2014, 21:19
RE: String an DLL übergeben - Y-P - 30.01.2014, 08:45
RE: String an DLL übergeben - rolfk - 30.01.2014 15:41
RE: String an DLL übergeben - rolfk - 30.01.2014, 19:25
RE: String an DLL übergeben - jg - 30.01.2014, 16:28

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL: String übergeben und wieder ausgeben..woran scheiterts? angori 1 6.953 06.10.2009 10:16
Letzter Beitrag: rolfk

Gehe zu: