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 

Einführung inLabVIEW Kapitel 15



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!

19.08.2009, 15:44
Beitrag #1

subzero128
Unregistered


 







Einführung inLabVIEW Kapitel 15
Hi,

folgendes Problem im Kapitel 15 soll man in c++ eine Dll Datei schreiben und in LabVIEW einbinden. Ich schaffe es aber einfach nicht mit meinem Compiler diese blöde dll datei zu erstellen ich habe Visual c++ 2005 Express Edition ich gehe wie beschrieben auf projekt neu erstellen dann auf win32 konsolenanwendung und auf der nächsten seite habe ich folgendes zur Auswahl :(siehe screens)

wie dem auch sei ich habe die konsolenanwendung gewählt und den haken bei "vorkompilie. header"
weggemacht. In der Hilfe heißt es das nicht jeder Compiler die Dll zur Auswahl zur Verfügung stellt Zitat:

"Einige Versionen von Visual Studio bieten keine Unterstützung für das Erstellen eines DLL-Projekts mithilfe von Assistenten. Sie können jedoch später festlegen, dass das Projekt in eine DLL kompiliert wird"

unszwar so laut hilfe:"Um aus dem Projekt eine DLL zu erstellen, wählen Sie im Menü Projekt das Projekt MathFuncsDll und dann die Option Eigenschaften... aus. Wählen Sie im linken Bereich unter Konfigurationseigenschaften die Option Allgemein aus. Ändern Sie im rechten Bereich den Konfigurationstyp in Dynamische Bibliothek (.dll). Klicken Sie auf OK, um die Änderungen zu speichern"

hab ich alles so gemacht aber in LabVIEW laut autor sollte folgender Code von alleine erstellt werden:

//Reihe.cpp Definiert den Einsprungspunkt für die DLL-Anwendung
//

#include "stdafx.h"

BOOL APIENTRY DllMain (Handle hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{return TRUE;}

und jetzt erst den Code den ich eingeben will (eine Reihen_berechnung)

irgendjemand ne Idee wie man das machen könnte?


Angehängte Datei(en) Thumbnail(s)
                   
Diese Nachricht in einer Antwort zitieren to top
Anzeige
19.08.2009, 16:21
Beitrag #2

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Einführung inLabVIEW Kapitel 15
Hab' das Thema in ein anderes Unterforum verschoben, aber helfen kann ich Dir leider nicht. Wieso willst Du denn eine DLL erstellen?

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2009, 16:25
Beitrag #3

subzero128
Unregistered


 







Einführung inLabVIEW Kapitel 15
es geht um folgende übung mit c++ eine DLL erstellen indem man eine formel zur reihen-berechnung programmiert hat und dann diese datei in LabVIEW einbinden und ausführen.
Diese Nachricht in einer Antwort zitieren to top
19.08.2009, 16:51
Beitrag #4

subzero128
Unregistered


 







Einführung inLabVIEW Kapitel 15
ok ich bin schon ein kleines stück weiter habe im netz ein bissle gestöbert und folgendes funktioniert jetzt :
habe die microsoft SDK plattform installiert und ich kann jetzt bei dem Assistenten die DLL-Erstellung auswählen dann erhalte ich das hier(siehe screen) ich konnte meine Formle eingeben und habe dann auf Kompillieren gedrückt. aber da kam noch diese Fehlermeldung weiß jemand was das is? und noch was im debug ordner gibt es keine .dll datei sondern eine .dll.embed.manifest die kann ich mit LabVIEW nicht auswählen die erkennt er nicht als .dll an und somit funktioniert auch nicht das einbinden


Angehängte Datei(en) Thumbnail(s)
   
Diese Nachricht in einer Antwort zitieren to top
19.08.2009, 16:56
Beitrag #5

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Einführung inLabVIEW Kapitel 15
Bahn. Am besten warstest Du mal auf "rolfk" oder "IchSelbst". Die haben bei Fragen mit dll's schon öfters geholfen. Wink

Gruß Markus

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
19.08.2009, 22:14 (Dieser Beitrag wurde zuletzt bearbeitet: 19.08.2009 22:45 von jg.)
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Einführung inLabVIEW Kapitel 15
Offtopic
Vielleicht solltest du die Frage eher in einem C/C++ Forum stellen.
Das hier ist das LabVIEWForum.

Und deine bisherigen Fragen gehören bestimmt nicht in den Tutorial-Bereich. Der ist für veröffentlichte Tutorials, nicht für Übungsfragen aus deinem Buch.

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
20.08.2009, 07:32
Beitrag #7

abrissbirne Offline
LVF-Stammgast
***


Beiträge: 480
Registriert seit: Aug 2007

LV2009, LV2010
2007
EN

66123
Deutschland
Einführung inLabVIEW Kapitel 15
' schrieb:ich konnte meine Formle eingeben und habe dann auf Kompillieren gedrückt.
Mit der Formel kannst du noch rein gar nichts anfangen, da du sie nicht exportierst. Wenn du Funktionen einer DLL verfügbar machen möchtest musst du vor deine Funktion
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>__declspec(dllexport)</div> setzen.
' schrieb:aber da kam noch diese Fehlermeldung weiß jemand was das is?
Der Fehlercode bezieht sich auf eine Headerdatei die du hier nicht gepostet hast. Ich könnte mir vorstellen das
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>#ifdef MANAGED</div>
den Fehler verursacht, da du es zweimal definierst.
' schrieb:und noch was im debug ordner gibt es keine .dll datei sondern eine .dll.embed.manifest die kann ich mit LabVIEW nicht auswählen die erkennt er nicht als .dll an und somit funktioniert auch nicht das einbinden
Du hast bestimmt zwei Debugordner. In einer befindet sich die ...manifest. Geh in deiner Verzeichnisstruktur mal eine Ebene höher.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2009, 10:42
Beitrag #8

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Einführung inLabVIEW Kapitel 15
Kann es sein, dass du deine IDE falsch installiert hast? Die Pfadtrenner, die man im geposteten Bild sieht, sind doch falsche Zeichen. Gehört da nicht ein "" (oder "/") her? Nicht dass du mit Include-Files für unterschiedliche Sprachen bzw. Betriebssysteme arbeitest.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
20.08.2009, 13:27
Beitrag #9

subzero128
Unregistered


 







Einführung inLabVIEW Kapitel 15
[quote name='abrissbirne' date='20.08.2009 , 08:32:32' post='79352']
Mit der Formel kannst du noch rein gar nichts anfangen, da du sie nicht exportierst. Wenn du Funktionen einer DLL verfügbar machen möchtest musst du vor deine Funktion
<div class='codetop'>CODE</div><div class='codemain' style='height:200px;white-space:pre;overflow:auto'>__declspec(dllexport)</div> setzen.


Also ich hab jetzt folgendes gemacht: erstmal das microsoft visual 2005 deinstalliert und das neue 2008 c++ express edition installiert und das von oben mit dem export hab ich jetzt auch vor meine funktion geschrieben nun kam nur noch ein fehler (siehe screen) es taucht auch jetzt im debug ordner eine .dll datei auf LabVIEW jammert immer noch das er die funktion in der bibliothek nicht finden konnte zitat:

"Der Funktionsname konnte in der Bibliothek nicht gefunden werden. Mit einem Rechtsklick auf den Knoten "Aufruf externer Bibliotheken" und Auswahl von "Konfigurieren" können Sie den richtigen Funktionsnamen angeben"

im buch hieß es ebenfals das ich eine .def datei erstellen müsste? ka was das ist jedenfalls hab ich eine erstellt und sie in die quelldateien mit eingebunden weiß nicht ob das so stimmt (siehe screen)


Angehängte Datei(en) Thumbnail(s)
       
Diese Nachricht in einer Antwort zitieren to top
20.08.2009, 14:07
Beitrag #10

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Einführung inLabVIEW Kapitel 15
' schrieb:nun kam nur noch ein fehler (siehe screen)
Ist ja klar: die DLL ist in Verwendung - von LV. Demzufolge kann sie nicht überschrieben werden. Du musst also zuerst das VI (oder gar LV?, oder das VI aus dem Speicher entfernen (FP und BD schließen) beenden, erst dann kann die DLL überschrieben werden.

Zitat:"Der Funktionsname konnte in der Bibliothek nicht gefunden werden. Mit einem Rechtsklick auf den Knoten "Aufruf externer Bibliotheken" und Auswahl von "Konfigurieren" können Sie den richtigen Funktionsnamen angeben"
Stimmt denn auch die Aufrufkonvention überein zwischen dem DLL-Knoten in LV und der Definition in der DLL?

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL mit Pointer - Einbindung inLabVIEW sebastian1986 3 6.143 24.11.2009 21:02
Letzter Beitrag: rolfk
  C-Code inLabVIEW Embedded for ARM ? amin 10 13.830 20.08.2009 11:06
Letzter Beitrag: KalleKrabowski
  Simulink Modell dll inLabVIEW einbinden / ausführen MIIIB 11 15.754 28.07.2009 14:09
Letzter Beitrag: MIIIB
  C-struktur inLabVIEW einbinden Olmor 4 5.323 24.07.2009 11:08
Letzter Beitrag: abrissbirne
  Matlab XPC Bedienungs-Oberfläche inLabVIEW gestalten Florian_TU-BS 11 11.082 05.05.2009 14:03
Letzter Beitrag: Florian_TU-BS
  Parameterübergabe beim Call DLL Functions inLabVIEW pericles 9 9.908 03.03.2009 09:47
Letzter Beitrag: pericles

Gehe zu: