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 

DLL - Zeiger auf TParameter Struktur



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!

28.02.2012, 17:33
Beitrag #1

F-Trooper Offline
LVF-Neueinsteiger


Beiträge: 3
Registriert seit: Jul 2010

2009
2010
de


Deutschland
DLL - Zeiger auf TParameter Struktur
Mahlzeit zusammen,

stocke gerade beim einbinden einer DLL- Funktion und benötige etwas hilfe dabei.

Der Aufruf der Funktion lautet:
long WriteReq (long Handle, TParameter * pParameter)


TParameter * ist definiert:

Byte[256], WORD, BYTE, BYTE , BYTE, BYTE


Eingestellt habe ich den Parameter auf den Typ "An Typ anpassen", die Werte übergebe ich als Cluster wo die entsprechenden Typen eingebunden sind.

Nur kommt das gewünschte ergebniss nicht zustanden.

Wer kann mir etwas auf die Sprünge helfen?
Danke FL-Trooper
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
03.03.2012, 22:10
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL - Zeiger auf TParameter Struktur
(28.02.2012 17:33 )F-Trooper schrieb:  Mahlzeit zusammen,

stocke gerade beim einbinden einer DLL- Funktion und benötige etwas hilfe dabei.

Der Aufruf der Funktion lautet:
long WriteReq (long Handle, TParameter * pParameter)


TParameter * ist definiert:

Byte[256], WORD, BYTE, BYTE , BYTE, BYTE


Eingestellt habe ich den Parameter auf den Typ "An Typ anpassen", die Werte übergebe ich als Cluster wo die entsprechenden Typen eingebunden sind.

Natürlich nicht. Du kannst ein Fixed size array nicht als String buffer implementieren, da in einem C compiler solch ein Array embedded wird.

Es gibt zwei Möglichkeiten hier:

1) Man macht statt des fixed size arrays einen weiteren Cluster der entsprechend viele Elemente des korrekten Datentyps enthält.

2) Man berechnet die Länge des Clusters in Byte und initialisiert ein entsprechendes Byte Array das man dann als C Array Pointer an die Funktion übergibt. Danach muss man eventuel noch vor dem DLL Aufruf entsprechende Informationen in das Array schreiben (Input parameter) oder aber nach dem Aufruf herauskopieren (Ausgangsparameter).

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
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  C-String-Zeiger Format hansi9990 19 14.550 25.08.2023 12:16
Letzter Beitrag: rolfk
  Struktur mit Zeiger auf weitere Struktur an DLL übergeben Wheeliemaster 2 7.571 27.05.2015 08:40
Letzter Beitrag: Wheeliemaster

Gehe zu: