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!
Hallo,
ich möchte ein SubVI erstellen (siehe Beispiel), indem ich auf eine Funktion meiner DLL zugreife.
Das klappt auch soweit.
Die case-Struktur sorgt ja dafür, dass nur dann mein DLL-Aufruf erfolgt, wenn der "error in" keinen Fehler aufweist.
Nun ist es so, dass ich in meiner Funktion (aus der DLL) ja auch Fehler erhalten kann.
Bei mir liefert daher der returnwert der DLL-Funktion folgende Werte:
1 = alles ok, kein Fehler
0, -1 oder -2 sind Fehlercodes, wo etwas schiefgelaufen ist.
Wie verknüpfe ich nun elegant, den "error out" so, dass wenn ein Fehler in meiner DLL aufgetreten ist, dieser Fehler in den Error-Cluster eingetragen wird.
Das geht doch bestimmt einfacher, als nach Namen aufschüsseln/nach Namen bündeln.
Werner
Erfahrung ist die Summe der gemachten Fehler
KISS - Keep it simple and stupid
Walking on water and developing software from a specification are easy if both are frozen. – Edward V Berard
Ein Errorcluster ist wie der Name schon sagt ein Cluster was in C++ einer Struktur entspricht. D.h. du könntest dir einfach in deinem Quellcode eine Struktur erstellen, die einem Errorcluster indetisch ist und die entsprechenden Werte bereits in der DLL füllst. Ich habs noch nie ausprobiert, sollte aber prinzipiell funktionieren.
28.09.2009, 08:40 (Dieser Beitrag wurde zuletzt bearbeitet: 28.09.2009 08:48 von rolfk.)
' schrieb:Ein Errorcluster ist wie der Name schon sagt ein Cluster was in C++ einer Struktur entspricht. D.h. du könntest dir einfach in deinem Quellcode eine Struktur erstellen, die einem Errorcluster indetisch ist und die entsprechenden Werte bereits in der DLL füllst. Ich habs noch nie ausprobiert, sollte aber prinzipiell funktionieren.
Ja funktioniert, aber....
Da ist ein String drin und wenn Du den ErrorCluster einfach so (mit Adapt to Type) in die DLL Funktion übergibst ist da halt ein LabVIEW String Array Handle drin. Da etwas hineinzuschreiben ist nicht wirklich schwierig aber Du musst Dich schon mit den LabVIEW Manager Functionen auseinandersetzen. Mindestens soetwas ist da schon notwendig: