vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
(VB6) Active-X DLL in VB.Net verwenden 
Autor: nouse459
Datum: 04.07.11 10:02

Hallo,

Ich muss einen Strichcode-Scanner in VB.Net ansprechen.

Das Problem, das sich hier auftut, ist, dass die mitgelieferte SDK nur eine (C-) DLL mit den entsprechenden BefehlsSätzen anbietet, und die ist von 2003.

Wenn ich versuche in VB.NET, bspw. über:

Public Declare Function PDX_Remot_Set_Comm Lib "Remot.dll" (ByVal lpCommName As _
  String, ByVal BaudRate As Integer, ByVal DataBit As Byte, ByVal StopBit As _
  Byte, ByVal Parity As Byte) As Short
eine Funktion aus der Remot.DLL direkt anzusprechen ohne den Umweg über VB6, bricht VB mit der Fehlermeldung


"Es wurde versucht, eine Datei mit einem falschen Format zu laden. (Ausnahme" & _
  "von HRESULT: 0x8007000B)" ab.
Diese Fehlermeldung ist vermutlich darauf zurückzuführen, dass
Remot.DLL
keine gültige
.NET Assembly ist, sondern ledliglich eine C-DLL.

Meine Strategie, diese "Remot.DLL" dennoch anzusprechen, besteht jetzt darin, diese DLL in das System32 zu kopieren und in VB6 eine öffentliche Klasse PDXREMOTE zu definieren, die diese Funktionen von "REMOT.DLL" extern anspricht, mit RegSvr32 zu registrieren und DANN eben in dem VB.NET Projekt als COM-Verweis einbindet.

Imports PDXREMOTE
 
 
Public Class Form1
 
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Button1.Click
 
        Dim pdx As New clsPDX
 
        If pdx.PDXRemot_Set_Com("COM3", 9600, 8, 0, 0) <> 0 Then
            MsgBox("It works.")
 
        Else
 
            MsgBox("Fehler")
 
        End If
    End Sub
End Class
Hier erhalte ich jedoch den Fehler:

Die COM-Klassenfactory für die Komponente mit CLSID _
  {A04A4E2D-5036-4DA9-8A5C-8AA9F5C81D07} konnte aufgrund des folgenden Fehlers _
  nicht abgerufen werden: 80040154.
PDXRemote ist jedoch als COM-Klasse registriert.
Hat jemand vielleicht noch eine weitere Idee, wie ich diese "Remot.dll" in VB.NET ansprechen kann ?

Vielen Dank im Voraus,
Stephan
0
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
(VB6) Active-X DLL in VB.Net verwenden1.259nouse45904.07.11 10:02
Re: (VB6) Active-X DLL in VB.Net verwenden803ModeratorDaveS04.07.11 10:13
Re: (VB6) Active-X DLL in VB.Net verwenden799nouse45904.07.11 10:24
Re: (VB6) Active-X DLL in VB.Net verwenden839nouse45904.07.11 10:27

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel