Cluster der Array enthält als Ausgabe-Parameter einer dll - 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: Cluster der Array enthält als Ausgabe-Parameter einer dll (/Thread-Cluster-der-Array-enthaelt-als-Ausgabe-Parameter-einer-dll) |
Cluster der Array enthält als Ausgabe-Parameter einer dll - SchwindelInside - 06.12.2012 17:48 wunderschönen Aben, Das einbinden der PCAN-BasicAPI.dll in Labview mittel CLFN hab ich zum großen Teil ganz gut hinbekommen nur mit einem Parameter einer Funktion hab ich noch Schwierigkeiten. Die Funktion wird in der API-Doku wie folgt inform von Quelltext definiert: Delphi Code: class function Read( Code: [DllImport("PCANBasic.dll", EntryPoint = "CAN_Read")] Code: [DllImport("PCANBasic.dll", EntryPoint = "CAN_Read")] Der Parameter-Typ TPCANMsg ist wie folgt definiert: C++ Code: typedef struct Code: TPCANMsg = record Code: public struct TPCANMsg Code: public value struct TPCANMsg Darum hab ich mir ein VI gebaut, wie unten zu sehen ist Der Rückgabewert ist "PCAN_ERROR_OK". Das heißt es müsste Daten im Puffer liegen sonst wäre der Rückgabewert "PCAN_ERROR_QVRCEMPTY" Iin meinem AugabeCluster: MessageBuffer out werden die richtige ArbitrationID, der richtige Nachrichten-Typ und die richtige Nachrichten-Länge aber der Daten-Array ist immer leer obwohl laut Status Daten-anliegen müssten. Mit anderen fertigen Programmen können diese Daten auch über die selbe Harwarre ausgelesen werden. Kann mir jemand sagen ab ich bei der Parameter-Definition irgend etwas falsch gemacht habe? Vielen Dank. mfG. Stefan RE: Cluster der Array enthält als Ausgabe-Parameter einer dll - jg - 06.12.2012 20:00 (06.12.2012 17:48 )SchwindelInside schrieb: Darum hab ich mir ein VI gebaut, wie unten zu sehen istWo? Ich seh nix. Gruß, Jens RE: Cluster der Array enthält als Ausgabe-Parameter einer dll - SchwindelInside - 07.12.2012 11:57 Asche über mein Haupt. Das Bild hatte ich zwar hochgeladen aber vergessen in den Beitrag einzufügen. Dieses meinte ich.: [attachment=42562] Dazu sei noch gesagt, dass ich im CLFN für den Parameter "MessageBuffer" die Option "Adapt to Type" und als Data format "Handles by Value" gewählt habe. Vielleicht liegt darin der Fehler? Die anderen Datenformate habe ich auch schon durchprobiert aber hat nix geholfen. viele Grüße Stefan RE: Cluster der Array enthält als Ausgabe-Parameter einer dll - rolfk - 07.12.2012 12:12 (07.12.2012 11:57 )SchwindelInside schrieb: Asche über mein Haupt. Code: BYTE DATA[8]; PS: Selbst wenn die Deklaration Code: BYTE *DATA; RE: Cluster der Array enthält als Ausgabe-Parameter einer dll - SchwindelInside - 07.12.2012 12:51 (07.12.2012 12:12 )rolfk schrieb:Das scheint zu funktionieren. Tausend Dank. Du hast es echt drauf. viele Grüße Stefan |