LabVIEWForum.de - Error out mit DLL Fehler verknüpfen

LabVIEWForum.de

Normale Version: Error out mit DLL Fehler verknüpfen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
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.
' 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:

[code]#pragma pack(1)
typedef struct {
Referenz-URLs