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 

Dieses Thema hat akzeptierte Lösungen:

C# PInvoke bei Aufruf von LVDLLStatus



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!

30.01.2012, 10:05
Beitrag #1

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



C# PInvoke bei Aufruf von LVDLLStatus
Hallo zusammen,

ich habe in LV eine DLL erzeugt, diese möchte ich in C# benutzen.
Beim Aurfue der Funktion "LVDLLStatus" erhalte ich doch leider den Fehler "PInvokeStackImbalance".
Bei der NI-Seite gibt es ein Beispiel wie der Aufruf in C# sein sollte. Habe mich exact an das Beispiel gehalten.
Ändere ich die Einstellungen des Visual-Studios so, das diese Exception nicht gefangen wird, funktionieren die Funktionsaufrufe problemlos.
Gibt es noch irgendwelche Einstellungen die berücksichtigt werden müssen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.01.2012, 13:26
Beitrag #2

beginner85 Offline
LVF-Grünschnabel
*


Beiträge: 45
Registriert seit: Sep 2011

2010
2011
DE_EN



RE: C# PInvoke bei Aufruf von LVDLLStatus

Akzeptierte Lösung

Habs gelöst,

liegt am Einbinden der LV-DLL, CallConvention muss noch als Parameter eingefügt werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.01.2012, 23:55
Beitrag #3

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: C# PInvoke bei Aufruf von LVDLLStatus
(30.01.2012 10:05 )beginner85 schrieb:  Hallo zusammen,

ich habe in LV eine DLL erzeugt, diese möchte ich in C# benutzen.
Beim Aurfue der Funktion "LVDLLStatus" erhalte ich doch leider den Fehler "PInvokeStackImbalance".
Bei der NI-Seite gibt es ein Beispiel wie der Aufruf in C# sein sollte. Habe mich exact an das Beispiel gehalten.
Ändere ich die Einstellungen des Visual-Studios so, das diese Exception nicht gefangen wird, funktionieren die Funktionsaufrufe problemlos.
Gibt es noch irgendwelche Einstellungen die berücksichtigt werden müssen?

Also DLL mit PInvoke in .Net aufrufen ist schon etwas masochistisch. DLL Interfaces sind unmanaged, und dann muss man viel Arbeit machen um darum herum imanaged .Net Interface zu machen. Warum keine .Net Assembly vom LabVIEW Code generieren?

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 


Gehe zu: