none
Importar DLL do Delphi no Visual Basic 2010 Express RRS feed

  • Pergunta

  • Oi pessoal,

    Tenho uma DLL feita em Delphi e quero importar para o seu sistema, ela se chama BioREP, esta DLL é de terceiros portanto não vou conseguir abri-la  então estou pedindo a ajuda de vocês para trabalhar com esta DLL.

    Sei que tenho de declarar no inicio do sistema "IMPORTS BIOREP" e colocar algumas varáveis publicas

    Ex: Public _terminas, NewBio As CBIOREP

    Mas quando coloca em meu código e rodo me retorna a seguinte mensagem de erro:

    REFERENCIA DO OBJETO NÃO DEFINIDA PARA UMA INSTÂNCIA DE UM OBJETO.

    Esta é parte do meu código

            Dim n1 As Integer = Convert.ToInt32(TextBox3.Text)  '4370
            Dim n2 As Integer = Convert.ToInt32(TextBox4.Text)  '0
            Try

                NewBio.SetCommPassword(4370) -> </br>erro de dá nesta linha<\br>

                If Not NewBio.Connect_Net(Me.TextBox2.Text, n1) Then
                    MsgBox("Falha na Conexão", MsgBoxStyle.OkOnly, "Atenção")
                    Return
                Else
                    '*
                    '* Prosseguir
                    '*

                End If


            Catch ex As Exception
                MsgBox(ex.Message)
             End Try

    Por favor me ajudem, preciso colocar esta DLL em funcionamento no meu sistema.

    Obrigado,

    Elmo


    Elmo

    quinta-feira, 5 de março de 2015 00:51

Respostas

  • Nesse caso deve ter uma biblioteca para desenvolvimento no site do fabricante, bastando apenas importar (você tem que ter conhecimento das funções a serem utilizadas mediante leitura da documentação da mesma).

    O código é em VB.NET ou seja funciona sem problema algum o que pode ocorrer é alguma função estar obsoleta mais o próprio Visual Studio informa qual a versão a ser utilizada.

    A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel


    quinta-feira, 5 de março de 2015 15:50

Todas as Respostas

  • Para usar a dll feita no Delphi você terá de usar a DLL IMPORT e saber as funções que deseja e seus devidos parâmetros vide documentação da mesma, veja abaixo um exemplo:


    Option Strict On
    
    Imports System.Runtime.InteropServices
    Imports System.Text
    
    Public Module Tester
    
       <DllImport("User32.dll", EntryPoint:="MessageBox", ExactSpelling:=False, CharSet:=CharSet.Unicode)> _
       Private Function MessageBox (ByVal hWnd As IntPtr, ByVal lpText As String, byVal lpCaption As String, ByVal uType As UShort) As Short
       End Function
    
       <DllImport("Kernel32.dll", EntryPoint:="GetSystemDirectory", ExactSpelling:=False, CharSet:=CharSet.Unicode)> _
       Private Function GetSystemDirectory(ByVal lpBuffer As StringBuilder, _
               ByVal nSize As Integer) As Integer
       End Function
    
       Const MB_OK As Integer = &H0
       Const MAX_PATH As Integer = 260
    
       Public Sub Main()
          Dim caption As String = "System Directory"
          Dim buffer As New StringBuilder(MAX_PATH)
    
          GetSystemDirectory(buffer, MAX_PATH)
          MessageBox(Nothing, buffer.ToString(), caption, MB_OK)
       End Sub
    End Module


    A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel

    quinta-feira, 5 de março de 2015 11:38
  • Em primeiro lugar gostaria de agradecer pela sua resposta, mas ainda tenho dúvidas, esta instrução que você me passou serve par Visual Basic 2010 express, pois tentei colocar esta instrução em meu código e não deu certo.

    Estas DLL's que estou querendo colocar em meu aplicativo é de um relógio de ponto da BIOMETRUS, (PASSFINGER 2040), sei que só vou utilizar uma dll (bioREPsdk.dll) o restante vai ficar em uma pasta separada.

    Obrigado,

    Elmo


    Elmo

    quinta-feira, 5 de março de 2015 15:45
  • Nesse caso deve ter uma biblioteca para desenvolvimento no site do fabricante, bastando apenas importar (você tem que ter conhecimento das funções a serem utilizadas mediante leitura da documentação da mesma).

    O código é em VB.NET ou seja funciona sem problema algum o que pode ocorrer é alguma função estar obsoleta mais o próprio Visual Studio informa qual a versão a ser utilizada.

    A vantagem de ser inteligente é que podemos fingir que somos imbecis enquanto ao contrario é completamente impossivel


    quinta-feira, 5 de março de 2015 15:50