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:

DLL einen String zurückgeben lassen



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!

21.03.2012, 14:01
Beitrag #11

arphex Offline
Lab_Net
**


Beiträge: 52
Registriert seit: Jun 2011

NI Dev Suite /LV Prof. 2013 /TS2013_6.1 /Vision 2013
2011
DE

8****
Deutschland
RE: DLL einen String zurückgeben lassen
Es dreht sich immer noch um Message#4 und nicht die von euch zitierte und verwendete #5

The outputs are assigned to arguments as you already mentioned and not the return value. When you call the dll, the arguments will return the outputs of the VI.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.03.2012, 14:16
Beitrag #12

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: DLL einen String zurückgeben lassen
Vielleicht sinngemäß so:
Ausgabewerte eines VI werden immer in den Parametern eines DLL-Aufrufes zurückgegeben (nicht im Rückgabewert).

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
21.03.2012, 14:23
Beitrag #13

arphex Offline
Lab_Net
**


Beiträge: 52
Registriert seit: Jun 2011

NI Dev Suite /LV Prof. 2013 /TS2013_6.1 /Vision 2013
2011
DE

8****
Deutschland
RE: DLL einen String zurückgeben lassen
kann man das in irgendeinem Handbuch oder so nachlesen.
In den offiziellen Schulungshandbüchern ist das ja nichterklärt und die Hilfe zum application Builder ist so naja...
Dafür das so ein kleines Teilchen wie der Application Builder mit seinen paar Eingabemasken vor 4 Monaten 1300€ gekostet hat!...! ist die
Hilfe dürftig und die online-Ressourcen lassen meines Erachtens etwas zu wünschen übrig.

Also ist das so? Warum steht dann in manchen erzeugten Headerfiles acuh mal ein int32_t und nicht immer void?

Wenn ich aber einen Rückgabewert brauche und mir ein Ausgabewert (assoziiere ich immer ausschließlich mit dem Frontpanel)
nicht reicht... was mache ich dann?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.03.2012, 14:31
Beitrag #14

GerdW Online
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: DLL einen String zurückgeben lassen
Hallo arphex,

Zitat:Warum steht dann in manchen erzeugten Headerfiles acuh mal ein int32_t und nicht immer void?
Das hatte Rolf schon erläutert: Int32 ist ein gültiger Rückgabetyp...

Zitat:Wenn ich aber einen Rückgabewert brauche und mir ein Ausgabewert (assoziiere ich immer ausschließlich mit dem Frontpanel)
nicht reicht... was mache ich dann?
Array of U8 gehen immer. Und die können so ziemlich alles darstellen, wenn man sie ordentlich hin- und her-typecasted. Andere Lösungen kann dir evtl. Rolf auszeigen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
21.03.2012, 18:34 (Dieser Beitrag wurde zuletzt bearbeitet: 21.03.2012 18:41 von rolfk.)
Beitrag #15

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL einen String zurückgeben lassen
(21.03.2012 14:23 )arphex schrieb:  kann man das in irgendeinem Handbuch oder so nachlesen.
In den offiziellen Schulungshandbüchern ist das ja nichterklärt und die Hilfe zum application Builder ist so naja...
Dafür das so ein kleines Teilchen wie der Application Builder mit seinen paar Eingabemasken vor 4 Monaten 1300€ gekostet hat!...! ist die
Hilfe dürftig und die online-Ressourcen lassen meines Erachtens etwas zu wünschen übrig.

Also ist das so? Warum steht dann in manchen erzeugten Headerfiles acuh mal ein int32_t und nicht immer void?

Die Call Library Node ist ein Element das erlaubt externen Code aufzurufen. Es ist aber nicht Aufgabe von NI um im LabVIEW Manual einen kompletten C Kurs zu integrieren um Dir alles zu erklären was es im Zusammenhang mit der Call Library Node zu wissen gibt. Du kannst Dir immer ein ANSI C Lehrbuch kaufen und das Kapitel für Kapital durcharbeiten. Und auch dann weisst Du noch lange nicht alles was im Zusammenhang mit C Programmierung passieren kann. Das Buch bietet die Grundlage aber die Erfahrung musst Du dir in unzähligen Programmier-, Kompilier-, Test-, Crash-, und Anpassen Zyklen erarbeiten.
Ziemlich viel Zeitaufwand aber das lässt sich einfach nicht anders machen. Wenn Du ein Auto kaufst erwartest Du auch nicht dass im Handbuch dargelegt ist wie Du den Motor ausbauen musst um ihn selbständig zu revidieren. Dafür gibt es 4 jährige Berufslehrgänge als Mechaniker und dann hat der noch immer keine Detailkenntnisse für Deinen spezifischen Autotyp.

Zitat:Wenn ich aber einen Rückgabewert brauche und mir ein Ausgabewert (assoziiere ich immer ausschließlich mit dem Frontpanel)
nicht reicht... was mache ich dann?

Was ist daran verkehrt um Funktionsparameter als Ausgabevariablen zu verwenden? Das ist die angewiesenen Weise in C und das DLL Interface ist nun einmal auf C basiert.

Ansonsten: C Compilerkenntnisse aneignen!

Wenn ich einen Lamborghini habe aber damit einen 10 Tonnen Anhänger ziehen will kann ich das zwar lange wollen, und mich auf den Kopf stellen, aber das einzige was wirklich funktioniert ist den Lamborghini gegen eine schwere Zugmaschine einzutauschen. Nein die fährt nicht mehr 300 km/h und es ist auch nicht cool um damit über den Strandboulevard zu fahren, aber es ist halt einfach das eine oder andere.

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
22.03.2012, 08:07
Beitrag #16

arphex Offline
Lab_Net
**


Beiträge: 52
Registriert seit: Jun 2011

NI Dev Suite /LV Prof. 2013 /TS2013_6.1 /Vision 2013
2011
DE

8****
Deutschland
RE: DLL einen String zurückgeben lassen

Akzeptierte Lösung

Ok schlussendlich hat es funktioniert.
Ich habe einfach die Länge des Arrays genommen und an das externe Prog übergeben.
Dort zeige ich dann auf das von euch angesprochene u8Array und gebe per int32_ die Länge des Arrays
in Byte mit.

Laut NI-Support sind die Erfahrungen noch nicht ganz so groß mit dem Application Builder.. Smile
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.03.2012, 09:54
Beitrag #17

rolfk Offline
LVF-Guru
*****


Beiträge: 2.305
Registriert seit: Jun 2007

alle seit 6.0
1992
EN

2901GG
Niederlande
RE: DLL einen String zurückgeben lassen
(22.03.2012 08:07 )arphex schrieb:  Ok schlussendlich hat es funktioniert.
Ich habe einfach die Länge des Arrays genommen und an das externe Prog übergeben.
Dort zeige ich dann auf das von euch angesprochene u8Array und gebe per int32_ die Länge des Arrays
in Byte mit.

Ich verstehe Bahnhof aber wenns funktioniert!!

Zitat:Laut NI-Support sind die Erfahrungen noch nicht ganz so groß mit dem Application Builder.. Smile

Deine Erfahrungen? Der Application Builder besteht in verschiedener Ausführung seit LabVIEW 3.1 oder so. In der heutigen Form seit LabVIEW 8.0. Dass NI da keine Erfahrungen haben soll ist Bullshit und das Ganze hier ist auch nicht ein Application Builder Problem sondern ein User Problem.

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
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  DLL soll String zurückgeben Honeygirl24 7 6.808 14.10.2008 02:13
Letzter Beitrag: eg
  Array aus DLL zurückgeben DarthZiu 6 6.734 20.04.2006 18:53
Letzter Beitrag: Martin.Henz

Gehe zu: