Suchergebnisse
Suchergebnisse 1-12 von insgesamt 12.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
-
DLL einbinden
BeitragHallo erstmal in die Runde. Ich bin neu hier und habe eine Frage bezüglich der Einbindung einer DLL in ein VB.net Projekt. Ich bin noch sehr neu in der Materie und will mich in die Thematik reinfuchsen. Ich möchte ein Messgerät via USB-Verbindung ansprechen und der Hersteller des Geräts gibt einem hierzu eine DLL an die Hand, und eine C# Datei, die zeigen soll, wie man die Funktionen aus der DLL aufruft. Die erste Irritation gab es bei mir, als es nicht funktionierte, über „Projekt - Verweis hin…
-
DLL einbinden
BeitragDanke Es geht dabei um ein Steuergerät dieser Bauart: keyence.de/products/measure/mi…/models/ls-9501/index.jsp Um die DLL zu erhalten muss man sich anmelden. Ich würde sie nur ungern hier hochladen, da das denke ich zu Problemen führen könnte.
-
DLL einbinden
BeitragBitte bescheid geben, wenn du sie hast @RodFromGermany.
-
DLL einbinden
BeitragVielen vielen Dank für die große Hilfe. Ich werde das alles mal genau anschauen und testen. Gegebenenfalls melde ich mich dann nochmal hier im Thread, oder schließe ihn mit einer Rückmeldung
-
DLL einbinden
BeitragSo, ein paar Tage sind vergangen. Mittlerweile funktioniert die Verbindung zum Messgerät und Messwerte werden angezeigt. Ich hänge nun ein wenig bei dem Senden von Einstellungen an das Steuergerät. @RodFromGermany hat mir schon sehr weitergeholfen. Bei der "übersetzten" Funktion VB.NET-Quellcode (1 Zeile) bin ich mir jedoch unsicher. Ich bin bisher noch nicht auf so etwas wie diesen Teil gestoßen: VB.NET-Quellcode (1 Zeile) Kann mir vielleicht jemand auf die Sprünge helfen, worum es sich hier ha…
-
DLL einbinden
BeitragDanke für die Antwort @RodFromGermany ! Ok, ich glaube ich brauche noch einen Schubser. Es gibt ein konkretes Beispiel in der Dokumentation der DLL. Könntest du mir sagen, wie ich aus der Tabelle die korrekte Größe, die ich in die oben genannte Funktion als pbyDatas (hier pData genannt) übergeben muss, ermitteln kann und wie ich diese korrekt übergebe? Die Datasize lässt sich ja wohl anhand der Zeilenanzahl in Byte ablesen, wenn ich das richtig verstanden habe.
-
DLL einbinden
Beitrag@'RodFromGermany : wie meinst du das? Es wird mir momentan kein Fehler angezeigt, nur scheint an meiner Lösung etwas falsch zu sein. Es kommt die Meldung, dass ein invalider Parameter übergeben wurde. Ich habe den Verdacht, dass es an dem pbyDatas liegt. In meinem Fall muss einfach nur eine 1 (für Enable) übertragen und in das 1. von insgesamt 4 Bytes geschrieben werden. Eine weitere Fehlerquelle könnte es sein, dass ich die Codes von C# wie folgt übersetzt habe: 0x03 = 3 und 06h = 6 Soweit mein…
-
DLL einbinden
BeitragZitat von RodFromGermany: „ Was steht da?“ Folgendes habe ich im Objektkatalog zu der Funktion gefunden: Public Declare Ansi Function LS9IF_SetSetting Lib "LS9_IF.dll"(byDepth As Byte, stTargetSetting As Test_Keyence_Anzeige.Sample.LS9IF_TARGET_SETTING, lDataSize As Integer, pbyDatas As Byte(), ByRef pdwError As UInteger) As Integer Member von "Test_Keyence_Anzeige.Sample.NativeMethods"
-
DLL einbinden
BeitragZitat von RodFromGermany: „ Möglicherweise ist der Test_Keyence_Anzeige.Sample.LS9IF_TARGET_SETTING-Parameter invalid. Was genau ist das? “ Bei dem Target_Setting Parameter handelt es sich um folgende structure: VB.NET-Quellcode (13 Zeilen) Im Objekt-Browser gibt es keine zusätzlichen Informationen. @RodFromGermany: Könnte es daran liegen, dass das Steuergerät die Codes (die Komponenten von der Structure LS9IF_TARGET_SETTING) nicht versteht, weil es sie als Byte geschickt bekommt, und es erwarte…
-
DLL einbinden
BeitragIch habe nun vor die Parameter "&H" gesetzt, womit diese als Hex-Zahl deklariert werden. Damit hat es funktioniert und ich konnte die Einstellungen erfolgreich an das Steuergerät übertragen. Danke @RodFromGermany Deine Anregungen haben mir sehr geholfen!
-
DLL einbinden
BeitragWie ich einen einzelnen Parameter übergebe habe ich nun begriffen. Wie schaut es aber aus, wenn ich mehrere Parameter übergeben muss? Ich möchte nun nicht mehr nur ein Byte mit einer Zahl füllen, sondern die ersten beiden von insgesamt 12 Bytes. Ich nutze wie zuvor den BitConverter.GetBytes, um meine Einstellung (1. Byte = 2, 2.Byte = 0) in ein Byte-Array umzuwandeln. Ich habe eine Lösung gefunden, wie zumindest laut dem Debugger die korrekten Werte in den Bytes stehen, jedoch mag das Steuergerä…
-
DLL einbinden
BeitragDanke für die Antwort, das Format macht schon mal einen guten Eindruck. Leider funktioniert es noch nicht. Ich habe mal den Hersteller kontaktiert, denn es scheint etwas mit der sperrlichen Dokumentation nicht zu stimmen. Laut der Tabelle müsste ich einfach im ersten Byte eine 2 und im zweiten Byte eine 0 übertragen. Wenn ich die Einstellungen jedoch mit dem Herstellertool vornehme, und dann mit einer Funktion auslese, dann stehen in den 12 Bytes vollkommen andere Werte. Diese passen leider garn…