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.

Nueva demo de FastReport

Foro público de Xailer en español
Responder
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9440
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Nueva demo de FastReport

Mensaje por ignacio »

Nueva funcionalidad de FastReport para Xailer: Previsualización de FastReport en formulario de Xailer.
Demo: http://www.xailer.com/download?es&file=104



Attached files
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Nueva demo de FastReport

Mensaje por Claudio[1] »

Estimados.
Al convertir viejos programas de la version xharbour de xailer a harbour
obtengo error al compilar isKindOf() . ( no existe el método )
Este método me permití­a saber si un objeto pertenecí­a a una clase ( en
forma directa o heredada)
Quisiera certificar que en harbour no exite el método y en su caso como
reemplazarlo (si se puede).
Por ahora uso classname() y comparo con el nombre esperado pero no es la
misma funcionalidad (de seguro voy a tener problemas).
De antemano agradezco su tiempo.
Claudio.
xmessoft
Mensajes: 37
Registrado: Lun Jun 06, 2011 5:15 pm

Nueva demo de FastReport

Mensaje por xmessoft »

En harbour hay una función llamada __objDerivedFrom( oObject, xSuper )
Ojo no es un método...
Si tu usas:
if miObj:isKindOf( "oPadre" )
....
Con esta función se harí­a:
if __objDerivedFrom( miObj, "oPadre" )
....
Así­ funciona en Harbour y xHarbour ;-)
Saludos
Manu Expósito
El 18/10/2013 22:44, Contacto en Xailer escribió:
> Estimados.
>
> Al convertir viejos programas de la version xharbour de xailer a harbour
> obtengo error al compilar isKindOf() . ( no existe el método )
>
> Este método me permití­a saber si un objeto pertenecí­a a una clase ( en
> forma directa o heredada)
>
> Quisiera certificar que en harbour no exite el método y en su caso como
> reemplazarlo (si se puede).
>
> Por ahora uso classname() y comparo con el nombre esperado pero no es la
> misma funcionalidad (de seguro voy a tener problemas).
>
> De antemano agradezco su tiempo.
>
> Claudio.
--
Tu vecino Manu
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Nueva demo de FastReport

Mensaje por Claudio[1] »

Gracias Manu por tu pronta respuesta.
Funciona perfecto.
Claudio.
El 18/10/2013 18:39, Manu escribió:
> En harbour hay una función llamada __objDerivedFrom( oObject, xSuper )
> Ojo no es un método...
>
> Si tu usas:
>
> if miObj:isKindOf( "oPadre" )
> ...
>
> Con esta función se harí­a:
>
> if __objDerivedFrom( miObj, "oPadre" )
> ...
>
> Así­ funciona en Harbour y xHarbour ;-)
>
> Saludos
> Manu Expósito
>
> El 18/10/2013 22:44, Contacto en Xailer escribió:
>> Estimados.
>>
>> Al convertir viejos programas de la version xharbour de xailer a harbour
>> obtengo error al compilar isKindOf() . ( no existe el método )
>>
>> Este método me permití­a saber si un objeto pertenecí­a a una clase ( en
>> forma directa o heredada)
>>
>> Quisiera certificar que en harbour no exite el método y en su caso como
>> reemplazarlo (si se puede).
>>
>> Por ahora uso classname() y comparo con el nombre esperado pero no es la
>> misma funcionalidad (de seguro voy a tener problemas).
>>
>> De antemano agradezco su tiempo.
>>
>> Claudio.
>
>
joselalinf
Mensajes: 291
Registrado: Jue Ene 31, 2013 1:10 pm

Nueva demo de FastReport

Mensaje por joselalinf »

Claudio,
> Al convertir viejos programas de la version xharbour de xailer a harbour
> obtengo error al compilar isKindOf() . ( no existe el método )
el método isKindOf() exisste y puedes comprobar que se está usando en los
fuentes de Xailer así­ que el error tiene que venir de otra parte.
¿Qué versión de Xailer estás usando?
Saludos,
José Lalí­n
Toni
Mensajes: 65
Registrado: Mar Sep 30, 2008 9:55 pm

Nueva demo de FastReport

Mensaje por Toni »

Grande Ignacio.
Crear formularios e incrustar en ellos listados FastReport con imágenes, gráficos, etc.
Muy bueno.
Saludos
Toni Sales
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Nueva demo de FastReport

Mensaje por Claudio[1] »

Hola José y gracias por tu respuesta.
Como era de esperar tenés razón: isKindOf() funciona perfecto.
Demoré en responderte porque quise averiguar el por qué del mensaje que
me daba.
En el mensaje original que envié al foro cometí­ un error ya que "no
existe el método" no lo daba al compilar sino al ejecutar (runtime).
Y lo daba porque el objeto al que le solicitaba iskindof() no estaba
inicializado ( era NIL ) de allí­ el mensaje.
De todas formas implementé una pequeña funcion que verifica que el
objeto no es nulo y luego chequea verifica la clase.
//--------------------------------------
function esdDeLaClase( o ,cClase )
if isObject( o ) ; return __objDerivedFrom( o, cClase ) ; endif
return .f.
Que la converti para chequear isKindOf asi:
//--------------------------------------
function esdDeLaClase( o ,cClase )
if isObject( o ) ; return o:isKindOf( cClase ) ; endif
return .f.
Y funciona perfecto.
Nuevamente gracias,
Claudio.
El 19/10/2013 4:33, José Lalí­n escribió:
> Claudio,
>
>> Al convertir viejos programas de la version xharbour de xailer a harbour
>> obtengo error al compilar isKindOf() . ( no existe el método )
>
> el método isKindOf() exisste y puedes comprobar que se está usando en
> los fuentes de Xailer así­ que el error tiene que venir de otra parte.
>
> ¿Qué versión de Xailer estás usando?
>
> Saludos,
> José Lalí­n
>
xmessoft
Mensajes: 37
Registrado: Lun Jun 06, 2011 5:15 pm

Nueva demo de FastReport

Mensaje por xmessoft »

De cualquier modo te digo que la función es más rápida ya que le método
lo que hace es llamarla así­ que al menos te ahorrarí­as un paseito por la
máquina virtual de harbour.
tu función un poco más optimizada podrí­a quedar así­:
function esdDeLaClase( o, cClase )
return( if( isObject( o ), __objDerivedFrom( o, cClase ), .f. ) )
Y más optimizada aún (hace una llamada al wrapper de la función en C:
function esdDeLaClase( o, cClase )
return( if( isObject( o ), __clsParent( o:ClassH, cClase ), .f. ) )
--
Tu vecino Manu
Claudio[1]
Mensajes: 59
Registrado: Vie May 01, 2009 5:40 am

Nueva demo de FastReport

Mensaje por Claudio[1] »

Gracias Manu por tu respuesta
De ahora en más utilizaré esta version optimizada para validar los
objetos que recibo como parámetro en métodos y funciones.
Por otro lado estoy tranquilo que todo el código que tení­a escrito con
el metodo isKindOf funcionará perfecto.
Saludos,
Claudio
El 23/10/2013 17:13, Manu escribió:
> De cualquier modo te digo que la función es más rápida ya que le método
> lo que hace es llamarla así­ que al menos te ahorrarí­as un paseito por la
> máquina virtual de harbour.
>
> tu función un poco más optimizada podrí­a quedar así­:
>
> function esdDeLaClase( o, cClase )
> return( if( isObject( o ), __objDerivedFrom( o, cClase ), .f. ) )
>
> Y más optimizada aún (hace una llamada al wrapper de la función en C:
>
> function esdDeLaClase( o, cClase )
> return( if( isObject( o ), __clsParent( o:ClassH, cClase ), .f. ) )
>
>
>
Responder