CONSUMIR FUN?ÃO DE DLL NÃO GERENCIADA.
Queria que minha dll fosse utilizada como a do SAT por exemplo, sem precisar registrar, mas não consigo, da que não foi possÃvel encontrar o ponto de entrada.
Consumo normalmente a função da dll se eu registrar a mesma, mas via dllimport, acontece isso.
[ô]assim esta na dll
Public Function somar(ByVal V1 As Integer, ByVal V2 As Integer) As Integer
Return MsgBox(V1 + V2)
End Function
[ô]assim a declaração
<DllImport([Ô]DLL_TESTE.dll[Ô])> _
Public Shared Function somar(ByVal V1 As Integer, ByVal V2 As Integer) As IntPtr
End Function
[ô]assim a chamada
Classteste.somar(5, 8)
[ô]erro retornado
Não é possÃvel localizar um ponto de entrada denominado [ô]somar[ô] na DLL [ô]DLL_TESTE.dll[ô].
Obrigado.
Consumo normalmente a função da dll se eu registrar a mesma, mas via dllimport, acontece isso.
[ô]assim esta na dll
Public Function somar(ByVal V1 As Integer, ByVal V2 As Integer) As Integer
Return MsgBox(V1 + V2)
End Function
[ô]assim a declaração
<DllImport([Ô]DLL_TESTE.dll[Ô])> _
Public Shared Function somar(ByVal V1 As Integer, ByVal V2 As Integer) As IntPtr
End Function
[ô]assim a chamada
Classteste.somar(5, 8)
[ô]erro retornado
Não é possÃvel localizar um ponto de entrada denominado [ô]somar[ô] na DLL [ô]DLL_TESTE.dll[ô].
Obrigado.
DllImport é para poder usar DLLs não gerenciadas, geralmente feitas em C ou qualquer outra linguagem que permita gerar DLLs que exportem funções, com o .Net não é possÃvel fazer isso.
Mas não entendo o que você diz com precisar registrar, DLLs do .Net não precisam de registro, você só faz a referencia e então só é necessário copiar elas para a mesma pasta do executável, o que se você selecionar a referencia e olhar na janela de propriedades vai ver uma opção [Ô]Copy Local[Ô] que já faz isso pra você.
Mas não entendo o que você diz com precisar registrar, DLLs do .Net não precisam de registro, você só faz a referencia e então só é necessário copiar elas para a mesma pasta do executável, o que se você selecionar a referencia e olhar na janela de propriedades vai ver uma opção [Ô]Copy Local[Ô] que já faz isso pra você.
Citação:Mas não entendo o que você diz com precisar registrar, DLLs do .Net não precisam de registro, você só faz a referencia e então só é necessário copiar elas para a mesma pasta do executável, o que se você selecionar a referencia e olhar na janela de propriedades vai ver uma opção [Ô]Copy Local[Ô] que já faz isso pra você.
Eu só consumo uma dll que eu fiz, ela é feita em vb6, talvez por isso precise registrar ?, inclusive a opção copy Local esta como false.
Realmente, a que eu testei feita em .Net, não precisei registrar e a opção esta la=True.
Então deixa de ser necessário eu utilizar o Dllimport, como eu achava que seria necessário.
Obrigado, esclarecido, só vou deixar a preguiça de lado e refazer a dll em .Net.
Se foi feita com VB6, com certeza é ActiveX e portanto, você precisa sim registrar
Citação:Se foi feita com VB6, com certeza é ActiveX e portanto, você precisa sim registrar
Isso mesmo, Obrigado,
Tópico encerrado , respostas não são mais permitidas