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.

presencia de componente

Foro de Xailer profesional en español
Responder
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

presencia de componente

Mensaje por Francisco Sanchez »

Vamos a ver. En algunos formularios tengo un progressbar. Cuando llamo a
estos formularios hago que me pinte en el progressbar del formulario
llamante digamos. Pero.... se me ha presentado la posibilidad de que el
formulario llamante no tenga este progressbar, como controlo desde el otro
formulario que el llamante no tiene progressbar para que no ejecute lo que
tengo puesto ahi - en el formulario nuevo que llama al progressbar del
formulario llamante - ?.
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5706
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

presencia de componente

Mensaje por jfgimenez »

Paco,
> Vamos a ver. En algunos formularios tengo un progressbar. Cuando llamo a
> estos formularios hago que me pinte en el progressbar del formulario
> llamante digamos. Pero.... se me ha presentado la posibilidad de que el
> formulario llamante no tenga este progressbar, como controlo desde el otro
> formulario que el llamante no tiene progressbar para que no ejecute lo que
> tengo puesto ahi - en el formulario nuevo que llama al progressbar del
> formulario llamante - ?.
Yo lo que haría sería crear un método en TForm que se encargue de "pintar"
el progressbar (supongo que con pintar te refieres a incrementar su valor o
establecer un valor concreto). Sería algo así:
CLASS TForm FROM XForm
COMPONENT oProgressBar1
METHOD ActualizarProgressBar( nValue )
ENDCLASS
METHOD ActualizarProgressBar( nValue ) CLASS TForm
IF ::oProgressBar1 != Nil
::oProgressBar1:nValue := nValue
ENDIF
RETURN Nil
De esta forma, en los formularios donde crees el componente oProgressBar1,
el método ActualizarProgressBar() establecerá el valor correspondiente, pero
si el formulario no tiene ese componente pues no hará nada. Por otro lado,
en el formulario llamado sólo tienes que llamar a ese método del formulario
que lo llama.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Francisco Sanchez
Mensajes: 532
Registrado: Mié Feb 09, 2005 6:20 pm

presencia de componente

Mensaje por Francisco Sanchez »

YA voy a ver como implemento lo que me has dicho. El problema es que en el
formulario final, digamos el nuevo formulario alli hago
oFormLlamante:oProgressBar:lVisible := .t. y despues todo lo demas.... pero
claro ahi es donde me da el error, puesto que en oFormLlamante no existe
ningun oProgressBar. Voy de todas formas a probar lo que me comentas.
Atentamente : Francisco Sanchez GERENTE GRUPO ST - Software TOTAL
Responder