Suchergebnisse

Suchergebnisse 1-7 von insgesamt 7.

  • Benutzer-Avatarbild

    @ElmarElefant Mal grob geschätzt. PortHandle dürfte ein IntPtr sein der ByVal zu übergeben ist. SerialNumber könntest As StringBuilder festlegen der per ByVal zu übergeben ist und evtl noch per <Out, MarshalAs(UnmanagedType.LPStr)> gemarshallt werden muss. Entsprechend musst die zu übergebende Variable noch dimensionieren. Dim strSerialNumber = New StringBuilder(21). Kannst ja mal ausprobieren. Ansonsten wäre der letzte Parameter als ByRef As IntPtr auszulegen. Per Marshal.Copy dann vom Pointer …

  • Benutzer-Avatarbild

    @ElmarElefant So aus groben Dunst heraus: Die bp8661.dll ist für LabView? Probiere Doch mal die 8661.dll aus. Die Funktionen in der 8661.dll sind, laut Header, __stdcall.

  • Benutzer-Avatarbild

    @ElmarElefant Aus Mangel eines entsprechenden Motors / Sensors kann man nur raten. Zunächst: Wenn ich mir in der bp8661.c die void main anschau, führst Du zuerst SetInterfaceConfiguration mit validen Werten aus. Return muss FUNCTION_OK sein. Danach OpenInterface mit entsprechendem "virtuellem?" Com Port wo wahrscheinlich Dein Motor/Sensor angeschlossen ist. Return sollte >= 0 (PortHandle) sein (erst dann kann man auch CloseInterface aufrufen). Ist dieser kleiner 0 dann ist da schon ein Fehler. M…

  • Benutzer-Avatarbild

    @RodFromGermany Kopiere die beiden DLLs einfach in irgendeinen Ordner und gib einfach hinter DLLImport den kompletten Pfad zur DLL mit an. Soweit ich das sehen kann, ruft die bp8661.dll die 8661.dll auf. Denke die bp8661.dll ist nur ein Wrapper für LabView. Deswegen sollte ein direkter Aufruf der 8661.dll auch funktionieren.

  • Benutzer-Avatarbild

    @RodFromGermany Vergiss die bp8661.dll. Nimm die 8661.dll. Ich vermute das die bp8661.dll nur ein Wrapper für LabView ist und daher in .NET nicht verwenden kannst.

  • Benutzer-Avatarbild

    @RodFromGermany Zitat von RodFromGermany: „Auch das habe ich hinter mir, dort wird gesagt, dass der Eintrittspunkt nicht gefunden wurde.“ Wahrscheinlich weil die Funktionsnamen in der 8661.dll etwas anders sind als in der bp8661.dll. Schau mal in die 8661.h oder lass bp8661_ bei dem Funktionsnamen weg. Aus bp8661_OpenInterface aus der bp8661.dll wird OpenInterface in der 8661.dll. k.A ob Du schon in den Download aus Post 10 reingeschaut hast. Da sind alle erforderlichen Header-, LIB- und C-Files…

  • Benutzer-Avatarbild

    @ElmarElefant Ich kann Dein Projekt nicht testen. Fehlermeldung: Die bp8661.dll wird nicht gefunden. Selbst dann nicht, wenn ich explizit den Pfad angebe, wo sich die DLL befindet. Könnte sein das da weitere Abhängigkeiten für diese DLL fehlen die wir nicht haben. Wie auch immer. Ich kann nur Funktionen aus der 8661.dll testen und für die Subs GetLibVersion, GetLibCreationDate und GetLibManufacturerInfo erhalte ich den Fehler Fehler 0xc0000417 (STATUS_INVALID_CRUNTIME_PARAMETER) zurück. Wenn man…