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!
Hallo zusammen,
ich möchte eine DLL ansprechen, welche mir einen Zeiger zurück gibt. Jetzt weiß ich aber leider nicht, wie ich auf den Zeiger Inhalt (sprich die Werte auf die dieser Pointer zeigt) zugreifen kann. Die DLL ist richtig konfiguriert und gibt mir auch den Zeigerwert (wohl die Adresse) zurück.
Wär für eine schnelle Hilfe dankbar
Prototype
CHAR CT_data
(
unsigned short ctn,
unsigned char * dad,
unsigned char * sad,
unsigned short lenc,
unsigned char * command,
unsigned short * lenr,
unsigned char * response
);
Description
This function is used to send an ICC command to a card or a card terminal command and returns the command response to the calling program. For detailed information about this function please refer to the MKT 1.0 specification.
Parameters
The following parameters need to be provided:
Parameter Type Description
ctn in logical card terminal number
dad in destination address
sad in source address
lenc in command length in bytes
command in ICC command or CT command
lenr in out Passing of the max. buffer size of the response field to the function and return of the actual length of the response in byte
response out response to the command
Return Values
This function returns the following:
Value Description
ERR_OK Function call was successful
ERR_INVALID Invalid parameter or value
ERR_CT CT error (CT not in operation)
ERR_TRANS Non-eliminable transmission error
ERR_MEMORY Memory assignment error in HTSI
ERR_HTSI HTSI error
ich muss zugeben das mit dem Aufruf von DLLs ist manchmal ein bisschen tricky. Wie gesagt würde es erstmal mit Zeiger auf Wert versuchen. Dazu im Bereich "Übergeben" den Wert auf Zeiger auf Wert setzten.
Für char würde ich entweder einen String mit übergabe von einen C-StringZeiger verwenden oder wenn das nicht geht eine 8 Bit Zahlenarray den ich danach in einen String zurückumwandle.
Hoffe das hilft Dir weiter. Sag noch mal Bescheid ob das funktioniert. Hatte auch schon viele Probleme mit DLLs Aufruf. Ist manchmal auch nicht so toll wie man sich das immer vorstellt.
"Dazu im Bereich "Übergeben" den Wert auf Zeiger auf Wert setzten."
Welchen Bereich meinst Du ? Der Return Wert ist kein Problem. Mich interssiert der Response Zeiger: Da bekomme ich immer den Wert bzw Adresse 103 (dezimal) zurück. Und ich weiß nicht wie ich auf diese Adresse zugreifen kann, dass ich den Inhalt lesen kann
Hi,
füge einen neuen Parameter hinzu und stelle dann die gewünschten Einstellungen ein. Du mußt die gleichen Parameter einfügen die auch Deine Funktion hat,
Ach ja, Wenn Du einen Parameter hast der nur Werte zurück gibt musst Du ihn trotzdem so Einfügen. LabVIEW verlangt dann trotzdem am Knoteneingang
einen Wert z.B eine Konstante.
Naja hoffentlich hilft Dir das was sonst lad mal Deine dll und vi hoch