Clipper/FiveWin - Manejor de ProgressDlg en xailer

   
Vista:

Manejor de ProgressDlg en xailer

Publicado por Duilio (18 intervenciones) el 29/05/2009 22:34:07
Hola tengo un problema en xailer cuando agrego un ProgressDlg para mostrar como avanza una ordenacion me hace cualquier cosa si lo hago dentro de una funcion, pero si lo hago dentro de un methodo anda bien, el ProgressDlg lo agrego desde la Gui no por codigo pero cuando quiero hacerlo salir con un Run() o Execute() me dice que o no existe el mensaje , o no existe self etc, como q estuviera fuera de ambito , pero la verdad no se como arreglarlo porque probe con todo, algunas de las cosas q provee fueron:
::ProgressDlg:Execute()
::ProgressDlg:Run()
Form1:ProgressDlg:Execute() Form1 es mi form principal
Application:ProgressDlg:Execute()
y sus convinaciones

Muchas gracias desde ya
Duilio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Manejor de ProgressDlg en xailer

Publicado por Gabriel Pascual  (914 intervenciones) el 30/05/2009 23:41:05
Duilio:

Todos los controles de Xailer, incluyendo los dialogos del sistema son componentes del mismo formulario donde los pones con el diseñador visual.

Por lo tanto, la variable que los contiene, en tu caso oProgressDlg no es visible desde "fuera" de la clase, es decir, no puedes usarla en una función porque está fuera del ámbito de la clase, tendrías que crear un método y usar el dialogo desde el método pero siempre dentro del ámbito de la misma clase.

Para usar un dialogo externamente a una clase, como en tu caso que lo quieres usar desde una función.tienes que crear el objeto manualmente, no usando el diseñador visual, se hace de esta forma:

Function MyFun()
LOCAL oDlgPrg

/* creamos el progress manualmente */
oDlgPrg := TProgressDlg():New()

/*configuramos el progress */
WITH OBJECT oDlgPrg
:oParent := APPLICATION
:cTitle := "titulo del dialogo"
....
....
....
END

/* ejecutamos el dialgo previamente configurado */

oDlgPrg:Run()

RETURN

Te recomiendo un vistazo al manual de Xailer, clase TProgressDlg para que veas todos los metodos y propiedades del componente.

Finalmente recuerda que en Xailer todo se programa a base de objetos si quieres obtener la máxima potencialidad del producto , pero si no te sientes comodo con los objetos, puedes usar la librería "mensajes" de BiSoft, es un componente gratuito que tiene multiples mensajes del sistema y que puedes descargar de www.bisoft.es
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar