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:

Labview Import / DLL debuggen



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!

01.10.2015, 23:15 (Dieser Beitrag wurde zuletzt bearbeitet: 01.10.2015 23:17 von rolfk.)
Beitrag #20

rolfk Offline
LVF-Guru
*****


Beiträge: 2.306
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: Labview Import / DLL debuggen
(01.10.2015 13:53 )galilio schrieb:  Ich brauche eure Hilfe:
Wie kann ich einen Funktionen mit einen Pointer auf Struct als Rückgabeparameter in Labview importieren?
--> Das Import an sich ist kein problem :
Problem bei Labview : die notwendige Anpassung in Labview (stehe auf dem schauch)

Anbei einen Codeabschnitt:

Header file
Code:
typedf struct MyWrapper
{
    double a1;
    double a2;
    double a3;
    double a4;
    double a5;
    double a6;
    double a7;
    double a8;
    double a9;
    double a10;
    const char * dString;
    double    a11;
} MyWrapper;

....
extern "C"__declspec (dllexport) MyWrapper* ReturningAValue_PointerToSimpleStruct(void);
.....

Cpp file:
Code:
.....
extern "C"__declspec (dllexport) MyWrapper* ReturningAValue_PointerToSimpleStruct(void)
{
    struct MyWrapper tempMyWrapper = {1.3,2.4,3.5,50.1,50.8,10.11,4.78,2.5,2.8,4.9,"STOP",10000.0};    // einfach zum testen
    struct MyWrapper *temp = &tempMyWrapper;
    return temp;
}
.....

Das geht nicht wirklich. Und mit dem Stringpointer darin wird es noch hässlicher zu machen.

Wenn Du es wirklich machen willst ohne Wrapper, musst Du den Parameter als pointer sized Integer konfigurieren und dann halt selber die entsprechenden Elemente mit zum Beispiel MoveBlock() herauskopieren.

Da Du aber ja schon einen Wrapper machst solltest Du das ganz vermeiden. Behandle es als ein Pointer ohne in LabVIEW Dinge herauskopieren zu wollen und exportiere entsprechende Accessfunktionen denen Du diesen Pointer übergeben kannst und die Dir dann die Elemente daraus zurückgeben. Oder mache die ganze Funktion gleich ganz LabVIEW freundlich.

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 


Nachrichten in diesem Thema
Labview Import - galilio - 22.08.2014, 22:31
RE: Labview Import - galilio - 24.08.2014, 08:09
RE: Labview Import - jg - 24.08.2014, 08:43
RE: Labview Import - galilio - 24.08.2014, 10:09
RE: Labview Import / DLL debuggen - rolfk - 01.10.2015 23:15

Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  USB Relay DLL import hansi9990 3 10.267 02.09.2019 09:15
Letzter Beitrag: hansi9990
  DLL Import externe Struktur in Header bekommen hansi9990 15 24.718 30.09.2016 17:20
Letzter Beitrag: hansi9990
  aus einem Library Import Installer machen galilio 5 13.155 04.04.2016 09:32
Letzter Beitrag: galilio
  DLL Import automatisieren CS 3 8.111 13.02.2015 10:53
Letzter Beitrag: CS
  Import Assistent findet Funktionen nicht TDO 1 5.669 11.12.2014 16:24
Letzter Beitrag: jg
  dll Import richtig verstanden? Gruenschnabel 6 8.350 19.09.2014 10:25
Letzter Beitrag: DATAAHEAD

Gehe zu: