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 als Wrapperfunktion



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!

27.04.2010, 18:55 (Dieser Beitrag wurde zuletzt bearbeitet: 27.04.2010 18:57 von rolfk.)
Beitrag #2

rolfk Offline
LVF-Guru
*****


Beiträge: 2.308
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
DLL als Wrapperfunktion
' schrieb:Hallo,

typedef struct __Object * testRef;

typedef testRef var1Ref;
typedef testRef var2Ref;

unsigned int retain(Ref testRef);
Mehr ist mir über über dieses Struct nicht bekannt...

Also da ist wohl etwas falsch gegangen beim übertragen. Wohl normalerweise ein Delphi Programmierer? Wink

In C würde der Funktionsprototyp wohl eher so aussehen:

unsigned int retain(testRef <irgend ein Name>);

Da ist der Datentyp zuerst, anders als bei Delphi/Pascal.

Da dies ein Pointer auf eine opaque (also ungekannte) Datenstruktur ist, brauchst Du dafür nicht unbedingt einen Wrapper in LabVIEW. Du behandelst diese Variable in der LabVIEW Call Library Node ganz einfach als Pointer-Sized Integer, et voila.

Der Import Library Wizard kann nicht wirklich wissen was er machen muss, da testRef eine sogenannte unbeendete Datentypdeklaration ist. Ein C Compiler lässt das grundsätzlich zu, aber natürlich kann man mit dem Parameter selber nichts machen. Meist wird das verwendet um eine Struktur ausserhalb der eigentlichen Funktion als opaquen (also unbestimmten) Datentypen zu verwenden, sodass Benützer dieser Funktion keinerlei Annahmen über den Inhalt machen können, die bei späteren Versionen Kompatibilitätsprobleme verursachen können. In diesem Fall kann man nämlich innerhalb der Library bei neuen Versionen diese Struktur beliebig anpassen ohne dass eventuelle Benützer dieser Library plötzlich ins Blaue greifen, weil sie auf bestimmte Informationen in der Struktur an einem bestimmten Offset zugreifen wollen.

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


Nachrichten in diesem Thema
DLL als Wrapperfunktion - Honeygirl24 - 27.04.2010, 16:18
DLL als Wrapperfunktion - rolfk - 27.04.2010 18:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 07:19
DLL als Wrapperfunktion - rolfk - 28.04.2010, 07:49
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 07:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 08:02
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 11:42
DLL als Wrapperfunktion - dimitri84 - 28.04.2010, 12:37
DLL als Wrapperfunktion - rolfk - 28.04.2010, 12:42
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 12:55
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 13:25
DLL als Wrapperfunktion - rolfk - 28.04.2010, 13:34
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 13:44
DLL als Wrapperfunktion - RoLe - 28.04.2010, 14:16
DLL als Wrapperfunktion - Honeygirl24 - 28.04.2010, 14:24
DLL als Wrapperfunktion - rolfk - 28.04.2010, 18:39

Gehe zu: