In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Problema con OLE para Jose Gimenez

Foro de Xailer profesional en español
Responder
Rene Flores
Mensajes: 620
Registrado: Jue Mar 23, 2006 2:39 am

Problema con OLE para Jose Gimenez

Mensaje por Rene Flores »

Hola Jose:
Ya se que este no es el foro para poner este mensaje, pero en el foro de
xHarbour nadie parece hacerme caso.
Siendo mejor hablar directamente con el autor de la clase, te comento
que al parecer tenemos un problemita con el metodo GET de la clase TOleAuto.
Veras, estoy terminando mi rutina de actualizacion automatica de mis
programas via internet, para ello requiero descargar de un FTP el nuevo
fichero del EXE del programa, estoy usando Funcky, y mas especificamente
el componente FTP para realizar la descarga.
Cuando utilizo la clase TOleAuto() todo funciona bien excepto cuando voy
a descargar el fichero a mi ordenador para ello hago:
oFunckyFTP:Get(ficheroorigen,ficherodestino)
Sin embargo este codigo casca porque al parecer no le gusta el metodo
GET de Funcky a la clase, esto solo pasa con el metodo GET de marras,
todos los demas metodos con otros nombres funcionan bien.
Tambien falla aun utilzando las funciones en vez de los metodos de la clase.
Rastreando el problema me fui hasta el codigo fuente de la clase y me
doy cuenta que la clase tambien tiene un metodo llamado GET, al parecer
el metodo GET de la clase prevalece sobre el metodo get del servidor OLE
y obvio, al mandarle parametros que no son los correctos, la ejecucion
falla.
He podido hacer un apaño cambiando el nombre del metodo por __GET en el
codigo fuente de la clase, sin embargo creo que esto tendrí­a que ser
corregido para todo el xHarbour, como yo no tengo acceso al CVS mas que
para descargar ficheros, quien mejor que Jose Gimenez, padre de la
criatura para resolver este "issue".
Saludos
Rene Flores
http://www.ciber-tec.com
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Problema con OLE para Jose Gimenez

Mensaje por jfgimenez »

René,
> Ya se que este no es el foro para poner este mensaje, pero en el foro de
> xHarbour nadie parece hacerme caso.
Y por lo que veo, aquí tampoco te hemos hecho mucho caso que digamos :-(
Perdona el retraso, pero ya sabes... en agosto España está de vacaciones
;-) Y hasta son las fiestas de Almería en estas fechas!
> Siendo mejor hablar directamente con el autor de la clase, te comento
> que al parecer tenemos un problemita con el metodo GET de la clase
> TOleAuto.
>
> Veras, estoy terminando mi rutina de actualizacion automatica de mis
> programas via internet, para ello requiero descargar de un FTP el nuevo
> fichero del EXE del programa, estoy usando Funcky, y mas especificamente
> el componente FTP para realizar la descarga.
>
> Cuando utilizo la clase TOleAuto() todo funciona bien excepto cuando voy
> a descargar el fichero a mi ordenador para ello hago:
>
> oFunckyFTP:Get(ficheroorigen,ficherodestino)
>
> Sin embargo este codigo casca porque al parecer no le gusta el metodo
> GET de Funcky a la clase, esto solo pasa con el metodo GET de marras,
> todos los demas metodos con otros nombres funcionan bien.
>
> Tambien falla aun utilzando las funciones en vez de los metodos de la
> clase.
>
> Rastreando el problema me fui hasta el codigo fuente de la clase y me
> doy cuenta que la clase tambien tiene un metodo llamado GET, al parecer
> el metodo GET de la clase prevalece sobre el metodo get del servidor OLE
> y obvio, al mandarle parametros que no son los correctos, la ejecucion
> falla.
>
> He podido hacer un apaño cambiando el nombre del metodo por __GET en el
> codigo fuente de la clase, sin embargo creo que esto tendría que ser
> corregido para todo el xHarbour, como yo no tengo acceso al CVS mas que
> para descargar ficheros, quien mejor que Jose Gimenez, padre de la
> criatura para resolver este "issue".
No lo he probado, pero debería funcionar perfectamente así:
oFunckyFTP:Get( "Get", ficheroorigen, ficherodestino )
o
oFunckyFTP:Invoke( "Get", ficheroorigen, ficherodestino )
La explicación es que existen 3 métodos específicos en TOleAuto relacionados
con las llamadas a OLE: Get(), Set() e Invoke(). Estos 3 métodos aceptan
como primer parámetro el nombre del método o propiedad del componente OLE, y
el resto de parámetros son los que necesite ese método o propiedad. Por lo
tanto, si un método del componente coincide con algún nombre de método de la
clase (p.ej. New() ), la forma de llamarlo es usar uno de los 3 métodos
nombrados anteriormente.
--
Un saludo,
José F. Giménez
http://www.xailer.com
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder