FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Traducir VB - FW
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Traducir VB - FW
Posted: Wed Nov 11, 2009 10:40 PM

Hola a todos

Tengo el siguiente código en VB sacado de una página oficial:

Dim des As String * 15000
Dim paginahtml As String * 4096
Dim ret As Long
Dim edi As String
Dim nif As String
Dim wadedinet As New OAdedinet

ret = wadedinet.Adedinet(nif, edi, des, paginahtml)
........................................................................
He intentado traducirlo de la siguiente forma
local des := ""
local paginahtml := ""
local ret := ""
local edi := ""
local nif := ""

//cargo la librería//
cargadll := loadlibrary("Adedinet.dll")

//declaro la funcion//
Dll Function ADEDINET (nif AS LPSTR ,;
edi AS LPSTR ,;
des AS LPSTR ,;
paginahtml AS PTR ) AS LONG PASCAL FROM "Adedinet" Lib cargadll

//intento obtener el valor de la función //
ret = Adedinet(nif, edi, des, paginahtml)

//descargo la librería//
FreeLibrary(cdll)

Naturalmente no funciona, así que si alguien puede echarme una mano y la corrige
estaría muy agradecido

saludos desde Algeciras

:shock:

Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: Traducir VB - FW
Posted: Thu Nov 12, 2009 04:36 PM

Si nadie contesta es posible que no haya hecho la pregunta correcta, ojalá sea eso porque necesito que funcione la llamda:

Dim wadedinet As New OAdedinet
ret = wadedinet.Adedinet(nif, edi, des, paginahtml)

¿como traduzco esta llamada VB a FW para que devuelva tres parametros.?

ret -> 1/0
des -> cadena
paginahtml -> cadena

la dll la declaro así
Dll Function ADEDINET (@nif AS LPSTR, @edi AS LPSTR, @des AS LPSTR, @paginahtml AS LPSTR ) AS LONG PASCAL FROM "ADEDINET" Lib "Adedinet.dll"

el metodo es ADEDINET
la clase OADEDINET
adedinet.dll está registrada correctamente

Ojalá alguien pueda orientarme porque lo he intentado de todas formas y siempre devuelve ret = nil

saludos :shock:

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Traducir VB - FW
Posted: Thu Nov 12, 2009 06:35 PM
José,

El equivalente a Dim wadedinet As New OAdedinet sería (suponiendo que OAdedinet sea una clase de objetos OLE)
Code (fw): Select all Collapse
local wadedinet := CreateObject( "OAdedinet" )

y el equivalente a ret = wadedinet.Adedinet(nif, edi, des, paginahtml)
Code (fw): Select all Collapse
local ret := wadedinet:Adedinet( nif, edi, des, paginahtml )
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: Traducir VB - FW
Posted: Thu Nov 12, 2009 06:54 PM

MUchas gracias Antonio, acabo de probarlo y me arroja este error en el createObject()

Error TOleAuto/-1 CO_E_CLASSSTRING: TOLEAUTO:NEW
Argumentos :
[ 1] = C OAdedinet

¿Es posible que me falte alguna librería?

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Traducir VB - FW
Posted: Thu Nov 12, 2009 08:43 PM

José,

Prueba a hacer esto desde una ventana de consola:

regsvr32.exe adedinet.dll

comprueba que mensaje te muestra, y luego vuelve a probar tu EXE

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: Traducir VB - FW
Posted: Thu Nov 12, 2009 10:55 PM

He hecho lo que me sugieres, y como esperaba 'el registro se realizó con exito' pero el error sigue siendo el mismo del post anterior

en cambio si hago:

local wadedinet := CreateOLEObject( "OAdedinet" ) en vez de
local wadedinet := CreateObject( "OAdedinet" ),

el error es Error BASE/1004 Class: 'NUMERIC' has no exported method: ADEDINET

y esto es porque en el primer caso wadedinet toma el valor 0

Gracias de nuevo por tu interés Antonio.
Saludos

Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Traducir VB - FW
Posted: Fri Nov 13, 2009 07:55 AM

José,

Esa DLL es de libre acceso ?

De donde se puede descargar ?

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 282
Joined: Mon Oct 10, 2005 08:55 AM
Re: Traducir VB - FW
Posted: Fri Nov 13, 2009 11:24 AM

Si es acceso libre, se puede bajar desde la pagina de la Agencia Tributaria desde la dirección:

http://www.aeat.es/wps/portal/DetalleBu ... Componente Adedinetcontent=6805e59827330210VgnVCM1000004ef01e0aRCRDchannel=2ed8a4e784ac2010VgnVCM100000d7005a80_ver=Lsite=56d8237c0bc1ff00VgnVCM100000d7005a80_idioma=es_ES

o desde el portal de la Agencia Tributaria buscar ADEDINET

saludos :shock:

&&&&&

Continue the discussion