PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 25 → WD - Registrando uma DLL pelo Windev
WD - Registrando uma DLL pelo Windev
Iniciado por BOLLER ADRIANO, ago., 10 2016 7:13 PM - Sem resposta
Membro registado
3.655 mensagems
Popularité : +175 (223 votes)
Publicado em agosto, 10 2016 - 7:13 PM
Prezados,

No help pelo tópico CallDLL32

Segue um exemplo de uso de dll que encontrei anotado, se tiver alguma utilidade, bom proveito:
//Registra DLL
nASCIIZStringAdd is int = CallDLL32("MD5Digest.dll", "MD5String", sJogo)
sHash = StringRetrieve(nASCIIZStringAdd, srASCIIZAddress)


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

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.

//DLL
OBJteste is object automation dynamic

OBJteste = new object automation "CalculaCPMF.cCalculaCPMF"

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

Info(sTeste2)


Para 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.

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


:merci:

--
Adriano José Boller
______________________________________________
Consultor e Representante Oficial da
PcSoft no Brasil
+55 (41) 9949 1800
adrianoboller@gmail.com
skype: adrianoboller
http://wxinformatica.com.br/