LabVIEWForum.de - Char* in String Array Konvertieren

LabVIEWForum.de

Normale Version: Char* in String Array Konvertieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich versuche zur Zeit eine DLL in Lebview8.5 einzubinden. Folgende Funktion bereitet mir zur Zeit Probleme:

int "Länge der NamenListe in byte" = TSRW_GetAvailablePorts(char* NamenListe, int nBufferSize);

Zurück bekomme ich lediglich den ersten Listeneintrag und nicht die komplette Liste als Array (Was auch logisch ist Angry).
Wie kann ich die komplette Liste auslesen?
Mein Programm sieht wie folgt aus:

Lv85_img[attachment=10280]
' schrieb:Zurück bekomme ich lediglich den ersten Listeneintrag und nicht die komplette Liste als Array (Was auch logisch ist Angry).
Wie kann ich die komplette Liste auslesen?
Zurück kommen tut bestimmt die komplette Liste. Nur: Jedes Listenelement endet mit eine binären Null - Ende eines PChars. Wenn du dann die "Liste" einem String zuweist, wird der "String" bei der Null abgeschnitten.

Du könntest wie folgt vorgehen: Übergib keinen String an den DLL-Knoten, sondern ein Array of U8 (respektive einen Pointer darauf). Das Ergebnis sieht im Prinzip genauso aus wie mit String. In dem Ergebnisarray scanst du jetzt nach den Nullen. Was zwischen zwei Nullen steht, sind die Daten des Strings. Die sollten mit Typcast konvertierbar sein.
' schrieb:Hallo,

ich versuche zur Zeit eine DLL in Lebview8.5 einzubinden. Folgende Funktion bereitet mir zur Zeit Probleme:

int "Länge der NamenListe in byte" = TSRW_GetAvailablePorts(char* NamenListe, int nBufferSize);

Zurück bekomme ich lediglich den ersten Listeneintrag und nicht die komplette Liste als Array (Was auch logisch ist Angry).
Wie kann ich die komplette Liste auslesen?
Mein Programm sieht wie folgt aus:

[attachment=37290:TSRW_Get...blePorts.vi]

IchSelbst hat recht. Nur beim Auslesen des Arrays bitte stoppen wenn Du die Länge die von der Funktion zurückgegeben wurde oder die Länge des Arrays, was immer kürzer ist, erreicht hast.

Rolf Kalbermatter
Super hat geklappt.
Das ich da nicht selber drauf gekommen bin....Wink

Danke!!! Winke
Referenz-URLs