LabVIEWForum.de - c-String an LabVIEW

LabVIEWForum.de

Normale Version: c-String an LabVIEW
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

Ich habe folgendes Problem. Ich muss für mein Projekt einen String aus einer dll-Datei lesen. Als Übergabewert der Funktion habe ich einen unsigned short Datentyp.
Das Problem ist nun, dass mir LabVIEW den String nicht zurück gibt.Sad
Ich habe bereits alles mögliche probiert, bin jedoch leider auf keine Lösung gekommen. Habe auch ein Programm von NI selber gefunden, dies half mir jedoch au nicht wirklich weiter...

Ich danke schon jetzt für alle Antworten :top:

Freundliche Grüsse


PS: Anbei habe ich das LabVIEW Programm, den C-Code sowie die dll-Datei angehäng:

[attachment=6285]

[attachment=6286]
Ich kann deinen C-Source gerade nicht verifizieren.

Warum benutzt du bei >*output = "Hallo Welt";< einen Stern vor output und bei >output[j] = input[i];< keinen Stern vor output? Output selbst ist bereits ein Pointer. *Output wäre doch ein Pointer, auf den Output zeigt.

Lass doch einfach mal den * weg.
' schrieb:Hallo zusammen

Ich habe folgendes Problem. Ich muss für mein Projekt einen String aus einer dll-Datei lesen. Als Übergabewert der Funktion habe ich einen unsigned short Datentyp.
Das Problem ist nun, dass mir LabVIEW den String nicht zurück gibt.Sad
Ich habe bereits alles mögliche probiert, bin jedoch leider auf keine Lösung gekommen. Habe auch ein Programm von NI selber gefunden, dies half mir jedoch au nicht wirklich weiter...

char *name ist einfach ein C String Pointer. Konfiguriere ihn dann auch entsprechend!

Und für Ausgabestrings musst Du nicht vergessen, dass der Aufrufer dafür verantwortlich ist um einen Buffer der gross genug ist im Speicher anzulegen bevor er an die Funktion übergeben wird. Das kann in LabVIEW 8.2 direkt in der Aufrufknotenkonfiguration. In früheren Versionen musst Du das programmatisch tun. Ich tue das immer indem ich ein Array of Bytes erzeuge und dies danach mit der Byte Array To String Funktion in einen String umsetze.

Rolf Kalbermatter
Referenz-URLs