Página 1 de 1
Añadir métodos
Publicado: Mié Jul 26, 2006 12:34 pm
por Bingen Ugaldebere
He añadido con éxito métodos a clases de Xailer sin problemas, pero me
encuentro con que quisiera añadir una serie de métodos concretamente a
la clase Application lo cual también he probado y funciona pero como
esta clase la instancia automáticamente Xailer estos métodos no funcionan.
Son métodos para el control de copias, usuarios concurrentes en Red por
número de licencias, contraseñas de acceso, etc que creo que deben de ir
antes que el Form principal y por lo tanto estimo que habría de
ponérselas a Application y no a tForm.
Es posible??
Gracias y salu2.
Añadir métodos
Publicado: Mié Jul 26, 2006 12:56 pm
por jfgimenez
Bingen,
> He añadido con éxito métodos a clases de Xailer sin problemas, pero me
> encuentro con que quisiera añadir una serie de métodos concretamente a la
> clase Application lo cual también he probado y funciona pero como esta
> clase la instancia automáticamente Xailer estos métodos no funcionan.
>
> Son métodos para el control de copias, usuarios concurrentes en Red por
> número de licencias, contraseñas de acceso, etc que creo que deben de ir
> antes que el Form principal y por lo tanto estimo que habría de ponérselas
> a Application y no a tForm.
>
> Es posible??
Simplemente crea una clase TApplication que derive de XApplication, y
añadele todos los métodos que necesites. Cuando Xailer instancie
Application, ya incluirá lo que tú hayas añadido.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Mié Jul 26, 2006 12:58 pm
por jfgimenez
Bingen,
> Simplemente crea una clase TApplication que derive de XApplication, y
> añadele todos los métodos que necesites. Cuando Xailer instancie
> Application, ya incluirá lo que tú hayas añadido.
Por cierto, se me ha pasado comentar que dentro de poco, la funcionalidad
del 'datamodule' consistirá precísamente en sobreescribir la clase
TApplication en el proyecto, por lo que lo tendrás que tener en cuenta para
evitarte problemas.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Mié Jul 26, 2006 5:00 pm
por Bingen Ugaldebere
Pues eso mismo he hecho y luego el form principal llama a una clase de
tApplication y me da error que la método no existe ??
Lo hice en casa el finde así que a ver si lo bajo y envío un minizip con
la prueba.
Gracias y Salu2.
Jose F. Gimenez escribió:
> Bingen,
>
>> He añadido con éxito métodos a clases de Xailer sin problemas, pero me
>> encuentro con que quisiera añadir una serie de métodos concretamente a la
>> clase Application lo cual también he probado y funciona pero como esta
>> clase la instancia automáticamente Xailer estos métodos no funcionan.
>>
>> Son métodos para el control de copias, usuarios concurrentes en Red por
>> número de licencias, contraseñas de acceso, etc que creo que deben de ir
>> antes que el Form principal y por lo tanto estimo que habría de ponérselas
>> a Application y no a tForm.
>>
>> Es posible??
>
> Simplemente crea una clase TApplication que derive de XApplication, y
> añadele todos los métodos que necesites. Cuando Xailer instancie
> Application, ya incluirá lo que tú hayas añadido.
>
Añadir métodos
Publicado: Mié Jul 26, 2006 5:02 pm
por Bingen Ugaldebere
Perdón pero esto si que no lo entiendo, es como el ADDDATA del AppData
pero con métodos o algo así??
Jose F. Gimenez escribió:
> Bingen,
>
>> Simplemente crea una clase TApplication que derive de XApplication, y
>> añadele todos los métodos que necesites. Cuando Xailer instancie
>> Application, ya incluirá lo que tú hayas añadido.
>
> Por cierto, se me ha pasado comentar que dentro de poco, la funcionalidad
> del 'datamodule' consistirá precísamente en sobreescribir la clase
> TApplication en el proyecto, por lo que lo tendrás que tener en cuenta para
> evitarte problemas.
>
>
Añadir métodos
Publicado: Mié Jul 26, 2006 5:19 pm
por jfgimenez
Bingen,
> Pues eso mismo he hecho y luego el form principal llama a una clase de
> tApplication y me da error que la método no existe ??
>
> Lo hice en casa el finde así que a ver si lo bajo y envío un minizip con
> la prueba.
Tiene que funcionar. Seguramente el error que te da es de alguna otra cosa.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Mié Jul 26, 2006 5:23 pm
por jfgimenez
Bingen,
> Perdón pero esto si que no lo entiendo, es como el ADDDATA del AppData
> pero con métodos o algo así??
No. La idea consiste en hacer precísamente lo que estás tratando de hacer:
sobreescribir TApplication. P.ej.:
CLASS TApplication FROM XApplication
COMPONENT oDataSource1
COMPONENT oDataSource2
...
ENDCLASS
Y después, en cualquier punto del programa se podría hacer:
::oDataSet1:oDataSource := Application:oDataSource1
La razón de usar TApplication para esto es porque así, el IDE sólo tiene que
buscar en un único punto los componentes comunes de la aplicacion. De esa
forma, en tiempo de diseño, se pueden seleccionar.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Mié Jul 26, 2006 5:50 pm
por jose.luis
José,
¿El hecho de que la variable pública o global sea Application es por algún
motivo concreto?
¿Podré usar mis propias variables globales? (Yo no utilizo para nada
Application).
Saludos,
José Luis Capel
>
> No. La idea consiste en hacer precísamente lo que estás tratando de hacer:
> sobreescribir TApplication. P.ej.:
>
> CLASS TApplication FROM XApplication
>
> COMPONENT oDataSource1
> COMPONENT oDataSource2
> ...
>
> ENDCLASS
>
> Y después, en cualquier punto del programa se podría hacer:
>
> ::oDataSet1:oDataSource := Application:oDataSource1
>
Añadir métodos
Publicado: Mié Jul 26, 2006 7:27 pm
por jfgimenez
José Luis,
> ¿El hecho de que la variable pública o global sea Application es por algún
> motivo concreto?
Porque ya existe y no hay que cambiar nada más. Y además, nos parece de lo
más apropiado.
> ¿Podré usar mis propias variables globales? (Yo no utilizo para nada
> Application).
Puede que no la estés usando explícitamente, pero el mismo Xailer la está
usando; y por lo tanto, la estás usando de forma implícita.
Por otro lado, siempre puedes usar las variables globales que quieras (yo
suelo usar unas cuantas en mis programas), pero el IDE no las tendrá en
cuenta en modo diseño.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Mié Jul 26, 2006 7:36 pm
por zeasoftware
A mi me esta funcionando bien (por ahora solo he hecho el control de
licencia), haciendo una clase TForm principal, la cual sera asignada al
oMainForm.
Saludos.
--
Ramón Zea
ramonzea@yahoo.com
http://www.paginasprodigy.com/zeasoft/
Añadir métodos
Publicado: Mié Jul 26, 2006 9:09 pm
por Rolando
Yo tengo declarada una variable publica y cuando la utilizo produce un
warning el compilador.
Un saludo,
"Jose F. Gimenez" <
jfgimenez@wanadoo.es> escribió en el mensaje
news:44c7a5e9$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
> José Luis,
>
>> ¿El hecho de que la variable pública o global sea Application es por
>> algún motivo concreto?
>
> Porque ya existe y no hay que cambiar nada más. Y además, nos parece de lo
> más apropiado.
>
>
>> ¿Podré usar mis propias variables globales? (Yo no utilizo para nada
>> Application).
>
> Puede que no la estés usando explícitamente, pero el mismo Xailer la está
> usando; y por lo tanto, la estás usando de forma implícita.
>
> Por otro lado, siempre puedes usar las variables globales que quieras (yo
> suelo usar unas cuantas en mis programas), pero el IDE no las tendrá en
> cuenta en modo diseño.
>
> --
> Un saludo,
>
> José F. Giménez
>
http://www.xailer.com
>
Añadir métodos
Publicado: Mié Jul 26, 2006 9:28 pm
por jfgimenez
Rolando,
> Yo tengo declarada una variable publica y cuando la utilizo produce un
> warning el compilador.
Si la has creado con el comando PUBLIC, entonces deberás añadir una
declaración MEMVAR en cada módulo donde vayas a usarla.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Jue Jul 27, 2006 12:27 pm
por Bingen Ugaldebere
Q razón que tienes si que funciona pero esta creando Application (sin la
t) derivando de xApplication.
Que bruto.
Muchas gracias.
Jose F. Gimenez escribió:
> Bingen,
>
>> He añadido con éxito métodos a clases de Xailer sin problemas, pero me
>> encuentro con que quisiera añadir una serie de métodos concretamente a la
>> clase Application lo cual también he probado y funciona pero como esta
>> clase la instancia automáticamente Xailer estos métodos no funcionan.
>>
>> Son métodos para el control de copias, usuarios concurrentes en Red por
>> número de licencias, contraseñas de acceso, etc que creo que deben de ir
>> antes que el Form principal y por lo tanto estimo que habría de ponérselas
>> a Application y no a tForm.
>>
>> Es posible??
>
> Simplemente crea una clase TApplication que derive de XApplication, y
> añadele todos los métodos que necesites. Cuando Xailer instancie
> Application, ya incluirá lo que tú hayas añadido.
>
Añadir métodos
Publicado: Jue Jul 27, 2006 12:39 pm
por jfgimenez
Bingen,
>Q razón que tienes si que funciona pero esta creando Application (sin la t)
>derivando de xApplication.
No entiendo lo que quieres decir. Lo que hace Xailer es más o menos así:
Por un lado tiene:
CLASS TApplication FROM XApplication
ENDCLASS
Por otro lado:
CLASS XApplication FROM TComponent
...
ENDCLASS
Y en la inicialización:
Application := TApplication():New()
Con lo cual, la clase TApplication está completamente vacía, y se puede
sobreescribir sin ningún problema. Eso sí, la instancia que hay presente
siempre durante toda la ejecución del programa es Application (sin la T).
Pero es una instancia de TApplication, no de XApplication.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Jue Jul 27, 2006 2:27 pm
por Rolando
Hay alguna otra forma de declararla?
Un saludo.
"Jose F. Gimenez" <
jfgimenez@wanadoo.es> escribió en el mensaje
news:44c7c275$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
> Rolando,
>
>> Yo tengo declarada una variable publica y cuando la utilizo produce un
>> warning el compilador.
>
> Si la has creado con el comando PUBLIC, entonces deberás añadir una
> declaración MEMVAR en cada módulo donde vayas a usarla.
>
> --
> Un saludo,
>
> José F. Giménez
>
http://www.xailer.com
>
Añadir métodos
Publicado: Jue Jul 27, 2006 2:38 pm
por jfgimenez
Rolando,
> Hay alguna otra forma de declararla?
No, salvo que bajes el nivel de avisos del compilador (en el apartado
[x]Harbour de las propiedades del proyecto), pero no te lo aconsejo. Es
simplemente más sencillo declarar las variables como memvar al inicio de
cada módulo que lo necesites. O incluso puedes meter esas declaraciones en
un fichero de cabecera .ch e "incluirlo" en cada módulo.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Jue Jul 27, 2006 2:41 pm
por jfgimenez
Rolando,
> O incluso puedes meter esas declaraciones en un fichero de cabecera .ch e
> "incluirlo" en cada módulo.
Así es como están declaradas las variables públicas de Xailer Application,
Screen, Printer y AppData. Fíjate en xailerincludexailer.ch, que casi al
principio pone:
MEMVAR Application, Screen, Printer, AppData
De esta forma, puedes usar esas variables en cualquier sitio y no te da
ningún mensaje de advertencia.
--
Un saludo,
José F. Giménez
http://www.xailer.com
Añadir métodos
Publicado: Jue Jul 27, 2006 3:57 pm
por Rolando
Muy claro, como siempre, muchas gracias José.
Un saludo,
"Jose F. Gimenez" <
jfgimenez@wanadoo.es> escribió en el mensaje
news:44c8b46d$[email=
1@news.xailer.com...]
1@news.xailer.com...[/email]
> Rolando,
>
>> O incluso puedes meter esas declaraciones en un fichero de cabecera .ch e
>> "incluirlo" en cada módulo.
>
> Así es como están declaradas las variables públicas de Xailer Application,
> Screen, Printer y AppData. Fíjate en xailerincludexailer.ch, que casi
> al principio pone:
>
> MEMVAR Application, Screen, Printer, AppData
>
> De esta forma, puedes usar esas variables en cualquier sitio y no te da
> ningún mensaje de advertencia.
>
> --
> Un saludo,
>
> José F. Giménez
>
http://www.xailer.com
>
Añadir métodos
Publicado: Jue Jul 27, 2006 7:28 pm
por Bingen Ugaldebere
Pues si, que era fallo mio, me hacia un lio poniendo Application con la
T o sin la T donde no debia.
Gracias.
Añadir métodos
Publicado: Sab Jul 29, 2006 12:59 pm
por miguel
Saludos.
Miguel A. Torrellas
Telf.: 976642728
Movil: 610316131
Jose F. Gimenez escribió:
> Rolando,
>
>> O incluso puedes meter esas declaraciones en un fichero de cabecera .ch e
>> "incluirlo" en cada módulo.
>
> Así es como están declaradas las variables públicas de Xailer Application,
> Screen, Printer y AppData. Fíjate en xailerincludexailer.ch, que casi al
> principio pone:
>
> MEMVAR Application, Screen, Printer, AppData
No debería ser suficiente marcando la casilla Declaración automatica de
variables en las propiedades del proyecto en su apartado (x)Harbour
O este checkBox se refiere a otra cosa.
>
> De esta forma, puedes usar esas variables en cualquier sitio y no te da
> ningún mensaje de advertencia.
>
Añadir métodos
Publicado: Lun Jul 31, 2006 11:06 am
por jfgimenez
Miguel,
> No debería ser suficiente marcando la casilla Declaración automatica de
> variables en las propiedades del proyecto en su apartado (x)Harbour
>
> O este checkBox se refiere a otra cosa.
Tienes razón, esa casilla corresponde al flag /a del compilador. Pero hacer
eso tiene el peligro de que enmascara posibles errores de mecanografiado
(typos), por eso aconsejo no usarlo y declarar las variables correctamente.
--
Un saludo,
José F. Giménez
http://www.xailer.com