Error out mit DLL Fehler verknüpfen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: DLL & externer Code (/Forum-DLL-externer-Code) +---- Thema: Error out mit DLL Fehler verknüpfen (/Thread-Error-out-mit-DLL-Fehler-verknuepfen) |
Error out mit DLL Fehler verknüpfen - wernerIBN - 25.09.2009 15:41 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 Error out mit DLL Fehler verknüpfen - abrissbirne - 28.09.2009 07:03 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. Error out mit DLL Fehler verknüpfen - rolfk - 28.09.2009 08:40 ' 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 { |