Visual Basic.NET - referenciar una dll

   
Vista:
Imágen de perfil de roberto

referenciar una dll

Publicado por roberto (24 intervenciones) el 11/02/2015 18:29:57
Buenas tardes amigos del Foro, necesito de ayuda.
tengo un programa de ejemplo para manicupar un reloj biometrico y la misma hace referencia a una dll, y me figura que no esta establecida la referencia.
Yo tengo la dll en mi pc, y si le doy registrar manualmente en mi XP, me tira tambien el error que no es un ejecutable.-

Espero me ayuden, mas abajo incluyo una parte de la clase que me da error, la dll se llama: zkemkeeper.dll

Public Class RTEvents

'Create Standalone SDK class dynamicly.
Public axCZKEM1 As New zkemkeeper.CZKEM ''esta linea es el error

#Region "Communication"
Private bIsConnected = False 'the boolean value identifies whether the device is connected
Private iMachineNumber As Integer 'the serial number of the device.After connecting the device ,this value will be changed.

'If your device supports the TCP/IP communications, you can refer to this.
'when you are using the tcp/ip communication,you can distinguish different devices by their IP address.
Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
If txtIP.Text.Trim() = "" Or txtPort.Text.Trim() = "" Then
MsgBox("IP and Port cannot be null", MsgBoxStyle.Exclamation, "Error")
Return
End If
Dim idwErrorCode As Integer
Cursor = Cursors.WaitCursor
If btnConnect.Text = "Disconnect" Then
axCZKEM1.Disconnect()

RemoveHandler axCZKEM1.OnFinger, AddressOf AxCZKEM1_OnFinger
RemoveHandler axCZKEM1.OnFingerFeature, AddressOf AxCZKEM1_OnFingerFeature
RemoveHandler axCZKEM1.OnVerify, AddressOf AxCZKEM1_OnVerify
RemoveHandler axCZKEM1.OnAttTransactionEx, AddressOf AxCZKEM1_OnAttTransactionEx
RemoveHandler axCZKEM1.OnEnrollFingerEx, AddressOf AxCZKEM1_OnEnrollFingerEx
RemoveHandler axCZKEM1.OnDeleteTemplate, AddressOf AxCZKEM1_OnDeleteTemplate
RemoveHandler axCZKEM1.OnNewUser, AddressOf AxCZKEM1_OnNewUser
RemoveHandler axCZKEM1.OnAlarm, AddressOf AxCZKEM1_OnAlarm
RemoveHandler axCZKEM1.OnDoor, AddressOf AxCZKEM1_OnDoor
RemoveHandler axCZKEM1.OnWriteCard, AddressOf AxCZKEM1_OnWriteCard
RemoveHandler axCZKEM1.OnEmptyCard, AddressOf AxCZKEM1_OnEmptyCard
RemoveHandler axCZKEM1.OnHIDNum, AddressOf AxCZKEM1_OnHIDNum

bIsConnected = False
btnConnect.Text = "Connect"
lblState.Text = "Current State:Disconnected"
Cursor = Cursors.Default
Return
End If

bIsConnected = AxCZKEM1.Connect_Net(txtIP.Text.Trim(), Convert.ToInt32(txtPort.Text.Trim()))
If bIsConnected = True Then
btnConnect.Text = "Disconnect"
btnConnect.Refresh()
lblState.Text = "Current State:Connected"
iMachineNumber = 1 'In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.

If axCZKEM1.RegEvent(iMachineNumber, 65535) = True Then 'Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)

AddHandler axCZKEM1.OnFinger, AddressOf AxCZKEM1_OnFinger
AddHandler axCZKEM1.OnFingerFeature, AddressOf AxCZKEM1_OnFingerFeature
AddHandler axCZKEM1.OnVerify, AddressOf AxCZKEM1_OnVerify
AddHandler axCZKEM1.OnAttTransactionEx, AddressOf AxCZKEM1_OnAttTransactionEx
AddHandler axCZKEM1.OnEnrollFingerEx, AddressOf AxCZKEM1_OnEnrollFingerEx
AddHandler axCZKEM1.OnDeleteTemplate, AddressOf AxCZKEM1_OnDeleteTemplate
AddHandler axCZKEM1.OnNewUser, AddressOf AxCZKEM1_OnNewUser
AddHandler axCZKEM1.OnAlarm, AddressOf AxCZKEM1_OnAlarm
AddHandler axCZKEM1.OnDoor, AddressOf AxCZKEM1_OnDoor
AddHandler axCZKEM1.OnWriteCard, AddressOf AxCZKEM1_OnWriteCard
AddHandler axCZKEM1.OnEmptyCard, AddressOf AxCZKEM1_OnEmptyCard
AddHandler axCZKEM1.OnHIDNum, AddressOf AxCZKEM1_OnHIDNum

End If
Else
AxCZKEM1.GetLastError(idwErrorCode)
MsgBox("Unable to connect the device,ErrorCode=" & idwErrorCode, MsgBoxStyle.Exclamation, "Error")
End If
Cursor = Cursors.Default


End Sub

..................
End Class

Roberto.-
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

referenciar una dll

Publicado por Horroroso (46 intervenciones) el 11/02/2015 19:55:20
Intenta registrar la dll.

pudes usar la siguiente linea de comandos:

1
%systemroot%\System32\regsvr32.exe zkemkeeper.dll

y si tienes windows 64bit ademas ejecuta:

1
%systemroot%\syswow64\regsvr32.exe zkemkeeper.dll

Despues agrega la referencia en tu programa.


Espero que te sirva.
Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Roberto

referenciar una dll

Publicado por Roberto rtbenitezpy@hotmail.com (24 intervenciones) el 12/02/2015 12:38:59
Hola amigo, gracias por la respuesta,
aparentemente la dll es de 64bits, pero mi maquina es de 32 bits, porque no me deja registrar "..dll no es un archivo ejecutable...", voy a probar con alguna maquina que sea de 64 bits, a ver como responde.

Saludos cordiales.-
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar