LabVIEWForum.de
Messdaten aus LabVIEW nach c++ kompilieren - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: DLL & externer Code (/Forum-DLL-externer-Code)
+---- Thema: Messdaten aus LabVIEW nach c++ kompilieren (/Thread-Messdaten-aus-LabVIEW-nach-c-kompilieren)



Messdaten aus LabVIEW nach c++ kompilieren - Predator - 27.03.2007 10:09

hallo liebes forum...
ich bitte um hilfe... ich möchte gerne messdaten die in LabVIEW in einem array gespeichert sind in ein c programm einbinden. meine idee, bzw aus dem forum habe ich mir erklären lassen, dass man sowas mit dll dateien macht. jetzt zu meinem problem, ich habe mir die programmierungsumgebung DEV-C++ downloaded und versuche jetzt nur um mir das selbst verständlich zu machen eine einfache dll zu schreiben und die in LabVIEW einzubinden.
unter DEV-C++, dll erstellen öffnet sich folgender quellcode:

#ifndef _DLL_H_
#define _DLL_H_

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */


class DLLIMPORT DllClass
{
public:
DllClass();
virtual ~DllClass(void);

private:

};
#endif /* _DLL_H_ */

ich verstehe das nicht so ganz... wo definiere ich jetzt die eingangs- und/oder die ausgangsvariablen und wo erstelle ich die strukturen ect. ...
kann mir dabei jemand vielleicht einen schubs geben, dass ich das sehe, oder gut erklärende links posten. sorry aber ich bin ein absoluter anfänger... vielen dank im voraus
mfg
dennis


Messdaten aus LabVIEW nach c++ kompilieren - ThomasE - 27.03.2007 12:41

Hallo Dennis,

wenn Du mit der DLL z.B. Manipulationen an den Array-Werten durchführen willst, sollte das folgende Beispiel ausreichend sein.
Die Funktion erwartet ein Array aus SGL und liefert die Summe zurück. Muss vielleicht noch an Deine IDE angepasst werden.
Wenn das Array aber an eine andere eigenständige Anwendung übergeben werden soll, würde ich eine TCP-Verbindung oder Shared Memory verwenden.

Grüße
Thomas


<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>
//---------------------------------------------------------------------------
#include <windows.h>
//---------------------------------------------------------------------------
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fwdreason, LPVOID lpvReserved)
{
return 1;
}
//-- Deklaration ---------------------------------------------------------------------
__declspec(dllexport) double TransferArray(float *ArrayOfFloats, long NumberOfElements);

//-- Funktion -------------------------------------------------------------------------
double TransferArray(float *ArrayOfFloats, long NumberOfElements)
{
double dSumme = 0;
int i;

for (i=0; i<NumberOfElements; i++) dSumme += ArrayOfFloats[i];
return dSumme;
}
</div>

[attachment=5942]


Messdaten aus LabVIEW nach c++ kompilieren - Predator - 28.03.2007 08:08

hallo thomas... erstmal vielen dank für das beispiel, das hat mir schon enorm weitergeholfen. jedoch habe ich versucht das in mein projekt einzubinden, aber ohne erfolg. das problem liegt darin das ich nicht so recht weiß wie ich ein projekt erstelle und die dazu geführten dll´s und bibleotheken speichere. kennst du vielleicht eine bessere software als DEV-C++ oder womit arbeitest du?
mfg dennis


Messdaten aus LabVIEW nach c++ kompilieren - ThomasE - 28.03.2007 09:12

Hallo Dennis,
ich selbst arbeite mit dem Borland Developer Studio und kenne mich mit Dev-C++ leider überhaupt nicht aus.
Hier
habe ich eine Kurzanleitung für das Erstellen einer DLL in Dev c++ gefunden. Scheint unter Dev C++ ein Projekt-Template zu geben. Alternativ fällt mir gerade nur noch Visual C++ Express von MS ein. Generiert auch Projekte und legt die entsprechenden Verzeichnisse und Dateien an.

Grüße
Thomas