LabVIEWForum.de - DLL für LabVIEW erstellen

LabVIEWForum.de

Normale Version: DLL für LabVIEW erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,

ich habe das Problem wenn ich eine Dll einfüge das ich für jede Funktion deren Rückgabewert und Parameter selbst hinzufügen muss.
Irgendwo habe ich gelesen das man dieses nicht machen muss wenn man die Parameterinformationen mit in die Dll hineinkompiliert. Leider weiß ich nicht wie das funktioniert.
Ich hoffe mir kann hier jemand helfen.

Gruss
calimero
Vor langer langer Zeit habe ich das auch einmal gelesen. Ich kann mich daran erinnern, dass das in einigen wenigen sehr einfachen Fällen auch funktioniert hat. Wiklich brauchbar hat das aber nicht funktioniert.
Martin.Henz schrieb:Vor langer langer Zeit habe ich das auch einmal gelesen. Ich kann mich daran erinnern, dass das in einigen wenigen sehr einfachen Fällen auch funktioniert hat. Wiklich brauchbar hat das aber nicht funktioniert.

ich danke schon mal für die schnelle antwort, leider wäre es nicht schlecht wenn mir jemand sagen könnte wie ich die Parameterinformationen mit hineinkompiliert bekomme oder wie ich es schaffe das die Parameter in LabVIEW übernommen werden und nicht nur Void da steht.
Den die Dll ist ziemlich groß und da für jede Funktion die Parameter und Rückgabewerte einzustellen ist ja mega aufwand.
Zitat:leider wäre es nicht schlecht wenn mir jemand sagen könnte wie ich die Parameterinformationen mit hineinkompiliert bekomme oder wie ich es schaffe das die Parameter in LabVIEW übernommen werden und nicht nur Void da steht.
Das ging im Zusammenwirken mit einer .lib Datei, welche dir dein Compiler zusammen mit der DLL erzeugt. Ich hatte das nicht näher ausgeführt, weil es (a) nicht wirklich funktioniert und (B) ich mich nicht mehr an Details erinnere.

Zitat:Den die Dll ist ziemlich groß und da für jede Funktion die Parameter und Rückgabewerte einzustellen ist ja mega aufwand.

Dir wird nichts anderes übrig bleiben. Ich wünsche dir viel Spass und Erfolg bei dem "Mega Aufwand" :twisted:

So schlimm ist das aber auch nicht, denn wenn du das halbwegs vernünftig machen willst, dann solltest du für jede (oder nahezu jede) Funktion der DLL ein eigenes VI erstellen. Das VI-Icon, Erstellen und Beschreibung der Ein- und Ausgänge usw. Da fällt das bisschen für den DLL-Aufruf am Ende nicht mehr so sehr ins Gewicht.
So schlimm ist das aber auch nicht, denn wenn du das halbwegs vernünftig machen willst, dann solltest du für jede (oder nahezu jede) Funktion der DLL ein eigenes VI erstellen. Das VI-Icon, Erstellen und Beschreibung der Ein- und Ausgänge usw. Da fällt das bisschen für den DLL-Aufruf am Ende nicht mehr so sehr ins Gewicht.[/quote]

Dank dir jedenfalls für die schnellen Antworten. Wenn du ein gutes Tutorial kennst in dem erklärt ist wie man Strukturen die als Rückgabewert und Parameter (der Dll-Funktionen) in LabVIEW erstellt werden wäre ich dir sehr dankbar.
Zitat:Wenn du ein gutes Tutorial kennst in dem erklärt ist wie man Strukturen die als Rückgabewert und Parameter (der Dll-Funktionen) in LabVIEW erstellt werden wäre ich dir sehr dankbar.

Ein Tutorial kenne ich nicht. Aber drei Hinweise zu den Thema:

1. Auf den NI-Webseiten (insbesondere auf zone.ni.com) findest du verschiedene Beispiele. Meist sind diese jedoch eher einfach gestrickt.
2. In LabVIEW: "Help", "Search theLabVIEW Bookshelf" und dann "Using External Code in LabVIEW" sowie Application Note 154 "LabVIEW Data Storage".
3. Hier oder an anderer Stelle fragen, wenn sich ein konkretes Problem ergibt.
Hi

hier ein link der mir sehr geholfen hat

http://zone.ni.com/devzone/devzone.nsf/web...62567AC004F0A53

gruß

Jürgen
Hi,

euere Hilfe hat mich ziemlich weiter gebracht. Das mit den Strukturen habe ich mittlerweile im Griff.
Wollte mal nachfragen ob es schon jemandem gelungen ist eine Struktur die in der Dll als rückgabewert übergeben wird in LabVIEW an zu zeigen?

Gruss
calimero
calimero schrieb:Wollte mal nachfragen ob es schon jemandem gelungen ist eine Struktur die in der Dll als rückgabewert übergeben wird in LabVIEW an zu zeigen?

Das geht nicht wirklich. Wenn die Struktur aber nur aus einem nicht allzu großen zusammenhängenden Speicherbereich besteht, dann könnte diese als Pascal String Pointer an LabVIEW übergeben werden. Dieser muss dann mittels Typecast (und/oder andere Verfahren) innerhalb von LabVIEW in die passende Struktur umgewandelt werden. Ohne Not würde ich so etwas aber nicht machen.
Hallo

ist dir auch geholfen ein cluster an eine dll zu übergeben es zubefüllen, und anschliessend in LabVIEW weiter zu verwenden ???

wenn ja , das würde funktionieren !

mfg Mario
Referenz-URLs