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 

Hin - und zurückschreiben von Arrays aus LV an DLL



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!

05.04.2007, 14:00
Beitrag #9

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.692
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Hin - und zurückschreiben von Arrays aus LV an DLL
' schrieb:LV speichert die Daten, die in der DLL geschrieben werden auf dem Stack und holt sich die Rückgabewerte wieder vom Stack.
Das ist so wie es dasteht sinngemäß richtig. (Sinngemäß deswegen, weil es nicht heißt "die in der DLL geschrieben werden" sondern "die in die DLL geschrieben werden". Die Daten, die in der DLL geschrieben werden, schreibt ja die DLL. "Der" ist Dativ und bezeichnet den Ort. "Die" ist Akkusativ und bezeichnet die Richtung. Auf die "Der"-Daten hat LV keinerlei Zugriff. Die Daten, die in die DLL geschrieben werden, die kommen von LV, dem schreibenden. Deustche Sprache, schwere Sprache).

Zitat:Ich hoffe das das öffnen und schließen des Stacks in LV oder in der DLL selbst geschieht
Ja das geschieht so. Das handeln die DLL und der LV-DLL-Knoten untereinander aus.

Zitat:Beim holen vom Stack muss der Speicherbereich definiert sein, sonst kommt in LV eine Fehlermeldung und das Programm kann nicht ausgeführt werden.
Im Prinzip ist das wieder richtig. Aber: Auf dem Stack liegen die Pointer, die auf die Daten im Array zeigen. Die Daten selbst müssen nicht zwangsläufig am Stack liegen - sie können. (Lägen sie am Stack, müssten sie nach Beendigung des DLL-Knoten "in den Ausgangsdraht" kopiert werden. Das aber kann aufwändig sein. Zeigt der Pointer direkt "in den Draht", kann man sich viel Overhead sparen.)

Und noch eins:
Eigentlich ist es unschön, Konvertierungen durch LV machen zu lassen. Die Konvertierungen sieht man an den Punkten an der Stelle, an der die Drähte in den DLL-Knoten (respektive in ein VI) gehen. Besser wäre, das Array gleich mit dem richtigen Datentyp zu belegen. Dazu musst du im unteren Kreis nur die konstante Null von double nach single manuell konvertieren.

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 


Nachrichten in diesem Thema
Hin - und zurückschreiben von Arrays aus LV an DLL - IchSelbst - 05.04.2007 14:00

Gehe zu: