Autor Tópico: Registrando e usando uma dll  (Lida 6007 vezes)

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Registrando e usando uma dll
« Online: Fevereiro 06, 2009, 03:20:19 pm »
Olá pessoal

alguém sabe como registrar e usar uma dll?

eu tenho uma dll que uso para buscar CEP, uso ela em VB6 e funciona certinho, mas não consegui registrar o uso de uma dll externa no windev.


jcesar

  • Full Member
  • ***
  • Mensagens: 172
  • Karma: +0/-0
Re: Registrando e usando uma dll
« Responder #1 Online: Fevereiro 06, 2009, 10:24:42 pm »
Eu consegui utilizar uma dll do handheld-basic com o WinDev, da mesma maneira que utilizo no VB6. Claro que está dll já está devidamente registrada no sistema, bastou fazer uma referência.



Código: [Selecionar]
MyHb is OLE "HbDao.Hb_Recordset"

MyHb>>OpenTable "c:\pdadesktop\mauro\backup\Vnds_tbVisitas.pdb","cfe6eIAtkDANHg_ew4COC27=tDFA3NQ5RMvnY7sAUMcu5u2mprP0OM3P=BnRMvmfWDCJT66=Q")
MyHb>>Movefirst

Rogers

  • Visitante
Re: Registrando e usando uma dll
« Responder #2 Online: Fevereiro 10, 2009, 10:07:32 pm »
Procure no help pelo tópico CallDLL32

Segue um exemplo de uso de dll que encontrei anotado, se tiver alguma utilidade, bom proveito:

   nASCIIZStringAdd is int = CallDLL32("MD5Digest.dll", "MD5String", sJogo)
   sHash = StringRetrieve(nASCIIZStringAdd, srASCIIZAddress)


Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re: Registrando e usando uma dll
« Responder #3 Online: Maio 03, 2009, 11:57:09 am »
Pessoal, vou reabrir o tópico.

Para dlls que tem as funções exportadas, o callDll32 funciona certinho, mas tem DLLs que tem que criar
o objeto, instanciar e assim por diante.

por exemplo em VB

Set ObjetoDLL = New nomedadll.dll

tem que instanciar o objeto

e ai vc usa por exemplo   ObjetoDLL.nome_da_funcao

p q com o LoadDLL e callDLL32 não tem jeito de fazer ler as funções que são do tipo COM de uma DLL

Davi

  • Global Moderator
  • *****
  • Mensagens: 426
  • Karma: +0/-0
Re: Registrando e usando uma dll
« Responder #4 Online: Maio 04, 2009, 11:31:48 am »
Consegui resolver com a ajuda do Junior (Obrigado Junior)

Estou colocando a solução, de como deve-se instanciar uma DLL que tem funções do tipo com.

Após registrar sua DLL pelo  RegSvr32 no windows, deve-se criar um Objeto dinâmico no windev:

Eu criei uma DLL no VB6 do tipo COM, nela existe somente uma classe chamada cCalculaCPMF  e uma função CalculaCPMF

Então o código para o windev ficou o seguinte.


OBJteste is object Automation dynamic

OBJteste = new object Automation "CalculaCPMF.cCalculaCPMF"

sTeste2 = OBJteste>>CalculaCPMF("100,00")

info(sTeste2)

eduardowolak

  • Full Member
  • ***
  • Mensagens: 146
  • Karma: +0/-0
Re: Registrando e usando uma dll
« Responder #5 Online: Outubro 06, 2011, 03:16:30 pm »
Ola... aonde eu encontro esse objeto para acessar arquivos PDB para download?, voce teria como enviar pra mim?

Desde já agradeço.



Eu consegui utilizar uma dll do handheld-basic com o WinDev, da mesma maneira que utilizo no VB6. Claro que está dll já está devidamente registrada no sistema, bastou fazer uma referência.



Código: [Selecionar]
MyHb is OLE "HbDao.Hb_Recordset"

MyHb>>OpenTable "c:\pdadesktop\mauro\backup\Vnds_tbVisitas.pdb","cfe6eIAtkDANHg_ew4COC27=tDFA3NQ5RMvnY7sAUMcu5u2mprP0OM3P=BnRMvmfWDCJT66=Q")
MyHb>>Movefirst