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.
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
- ignacio
- Site Admin
- Mensajes: 9440
- Registrado: Lun Abr 06, 2015 8:00 pm
- Ubicación: Madrid, Spain
- Contactar:
Nueva demo de FastReport
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
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
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
-
- Mensajes: 59
- Registrado: Vie May 01, 2009 5:40 am
Nueva demo de FastReport
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.
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.
Nueva demo de FastReport
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
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
-
- Mensajes: 59
- Registrado: Vie May 01, 2009 5:40 am
Nueva demo de FastReport
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.
>
>
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.
>
>
-
- Mensajes: 291
- Registrado: Jue Ene 31, 2013 1:10 pm
Nueva demo de FastReport
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
> 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
Nueva demo de FastReport
Grande Ignacio.
Crear formularios e incrustar en ellos listados FastReport con imágenes, gráficos, etc.
Muy bueno.
Saludos
Toni Sales
Crear formularios e incrustar en ellos listados FastReport con imágenes, gráficos, etc.
Muy bueno.
Saludos
Toni Sales
-
- Mensajes: 59
- Registrado: Vie May 01, 2009 5:40 am
Nueva demo de FastReport
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
>
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
>
Nueva demo de FastReport
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
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
-
- Mensajes: 59
- Registrado: Vie May 01, 2009 5:40 am
Nueva demo de FastReport
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. ) )
>
>
>
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. ) )
>
>
>