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 

Char* in String Array Konvertieren



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!

11.12.2007, 11:02 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2007 23:35 von jg.)
Beitrag #1

Ralle Offline
CLD Certified


Beiträge: 6
Registriert seit: Oct 2006

8.5
2006
kA

55252
Deutschland
Char* in String Array Konvertieren
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
Sonstige .vi  TSRW_GetAvailablePorts.vi (Größe: 16,3 KB / Downloads: 372)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
11.12.2007, 18:29
Beitrag #2

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Char* in String Array Konvertieren
' 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.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2007, 21:14 (Dieser Beitrag wurde zuletzt bearbeitet: 11.12.2007 21:14 von rolfk.)
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
Char* in String Array Konvertieren
' 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

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
12.12.2007, 09:54
Beitrag #4

Ralle Offline
CLD Certified


Beiträge: 6
Registriert seit: Oct 2006

8.5
2006
kA

55252
Deutschland
Char* in String Array Konvertieren
Super hat geklappt.
Das ich da nicht selber drauf gekommen bin....Wink

Danke!!! Winke
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  VC++ 6.0 DLL ins Labview--Ist es möglich output type as char*? Danyang 1 5.005 11.06.2013 10:44
Letzter Beitrag: rolfk
  Pointer auf Char-Array / dll Aufruf ChM 4 10.156 24.08.2010 10:59
Letzter Beitrag: ChM
  Array String tetef 10 10.285 21.06.2010 11:04
Letzter Beitrag: rolfk
  Wide Char String toaran_ 10 13.140 26.03.2010 18:23
Letzter Beitrag: rolfk
  struct mit char **Parameter in DLL t4b-1re-2 3 6.139 03.09.2007 12:35
Letzter Beitrag: t4b-1re-2
  char Arrays weschi 1 4.094 08.04.2006 09:38
Letzter Beitrag: oppossom

Gehe zu: