Saludos:
Tengo un formulario en el cual hay dos TEditBtn, los dos al pulsar sobre
el Btn llaman a un mismo Formulario tipo Dialogo en el cual hay unas
opciones que son casi iguales para los dos, pero según le llame el TEditBtn1
o el TEditBtn2 del primer formulario en el segundo deben de desactivarse
unas opciones, pues bien necesito saber en el segundo formulario cual es
TEditBtn que está haciendo la llamada para poder activar o desactivar las
opciones necesarias, la llamada al segundo formulario desde el primero
funciona, lo he intentado hacer pasandole una variable de Cargo pero claro
me detecta el cargo de los dos edit al hacer un IF, así que esa solución no
me vale.
En pocas palabras necesito saber distingir el metodo que realiza la llama
del primer formulario en el segundo.
2º) Y necesito pasar las opciones activadas que son una combinación de
letras("ABCD") de un formulario a otro en este caso del segundo al primero,
de momento lo he hecho con una variable de tipo AppData, pero la verdad no
creo que sea la forma más adecuada seguro que debe de haber otra.
José Ramón Castro Polinio.
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.
Como puedo saber que metodo hace la llamada.?
Como puedo saber que metodo hace la llamada.?
José Ramón Castro.
Como puedo saber que metodo hace la llamada.?
José Ramón,
ten siempre presente que los formularios son clases que derivan de TForm,
pero a fin de cuentas son clases; y puedes añadir todas las DATAs que
necesites. Con esto presente, los 2 problemas se solucionan con un par de
DATAs en el segundo formulario:
CLASS TForm2 FROM TForm
...
DATA nQuienLlama
DATA cOpciones
ENDCLASS
Cuando llamas al segundo formulario desde el primero, lo puedes hacer así:
WITH OBJECT TForm2():New( Self )
:nQuienLlama := 1
IF :ShowModal()
MsgInfo( :cOpciones )
ENDIF
END
Por otro lado, en el evento OnShow del segundo formulario puedes activar o
desactivar lo que necesites en función del valor de nQuienLlama:
METHOD FormShow( oSender ) CLASS TForm2
::oCheckBox1:lEnabled := ( :nQuienLlama == 1 )
::oMaskEdit1:lEnabled := ( :nQuienLlama == 1 )
...
RETURN Nil
Y por supuesto, rellenar la DATA cOpciones con los valores que necesites.
--
Un saludo,
José F. Giménez
ten siempre presente que los formularios son clases que derivan de TForm,
pero a fin de cuentas son clases; y puedes añadir todas las DATAs que
necesites. Con esto presente, los 2 problemas se solucionan con un par de
DATAs en el segundo formulario:
CLASS TForm2 FROM TForm
...
DATA nQuienLlama
DATA cOpciones
ENDCLASS
Cuando llamas al segundo formulario desde el primero, lo puedes hacer así:
WITH OBJECT TForm2():New( Self )
:nQuienLlama := 1
IF :ShowModal()
MsgInfo( :cOpciones )
ENDIF
END
Por otro lado, en el evento OnShow del segundo formulario puedes activar o
desactivar lo que necesites en función del valor de nQuienLlama:
METHOD FormShow( oSender ) CLASS TForm2
::oCheckBox1:lEnabled := ( :nQuienLlama == 1 )
::oMaskEdit1:lEnabled := ( :nQuienLlama == 1 )
...
RETURN Nil
Y por supuesto, rellenar la DATA cOpciones con los valores que necesites.
--
Un saludo,
José F. Giménez
Como puedo saber que metodo hace la llamada.?
Saludos:
Efectivamente así lo había resuelto, con DATAS, pero creía que podía
haber algún procedimieniento tipo oControl:SysName que podía decir con que
control se estaba dialogando.
José Ramón Castro Polinio.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:433fc0ff$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> José Ramón,
>
> ten siempre presente que los formularios son clases que derivan de TForm,
> pero a fin de cuentas son clases; y puedes añadir todas las DATAs que
> necesites. Con esto presente, los 2 problemas se solucionan con un par de
> DATAs en el segundo formulario:
>
> CLASS TForm2 FROM TForm
> ...
> DATA nQuienLlama
> DATA cOpciones
> ENDCLASS
>
> Cuando llamas al segundo formulario desde el primero, lo puedes hacer así:
>
> WITH OBJECT TForm2():New( Self )
> :nQuienLlama := 1
> IF :ShowModal()
> MsgInfo( :cOpciones )
> ENDIF
> END
>
> Por otro lado, en el evento OnShow del segundo formulario puedes activar o
> desactivar lo que necesites en función del valor de nQuienLlama:
>
> METHOD FormShow( oSender ) CLASS TForm2
> ::oCheckBox1:lEnabled := ( :nQuienLlama == 1 )
> ::oMaskEdit1:lEnabled := ( :nQuienLlama == 1 )
> ...
> RETURN Nil
>
> Y por supuesto, rellenar la DATA cOpciones con los valores que necesites.
>
> --
> Un saludo,
>
> José F. Giménez
>
>
Efectivamente así lo había resuelto, con DATAS, pero creía que podía
haber algún procedimieniento tipo oControl:SysName que podía decir con que
control se estaba dialogando.
José Ramón Castro Polinio.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:433fc0ff$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> José Ramón,
>
> ten siempre presente que los formularios son clases que derivan de TForm,
> pero a fin de cuentas son clases; y puedes añadir todas las DATAs que
> necesites. Con esto presente, los 2 problemas se solucionan con un par de
> DATAs en el segundo formulario:
>
> CLASS TForm2 FROM TForm
> ...
> DATA nQuienLlama
> DATA cOpciones
> ENDCLASS
>
> Cuando llamas al segundo formulario desde el primero, lo puedes hacer así:
>
> WITH OBJECT TForm2():New( Self )
> :nQuienLlama := 1
> IF :ShowModal()
> MsgInfo( :cOpciones )
> ENDIF
> END
>
> Por otro lado, en el evento OnShow del segundo formulario puedes activar o
> desactivar lo que necesites en función del valor de nQuienLlama:
>
> METHOD FormShow( oSender ) CLASS TForm2
> ::oCheckBox1:lEnabled := ( :nQuienLlama == 1 )
> ::oMaskEdit1:lEnabled := ( :nQuienLlama == 1 )
> ...
> RETURN Nil
>
> Y por supuesto, rellenar la DATA cOpciones con los valores que necesites.
>
> --
> Un saludo,
>
> José F. Giménez
>
>
José Ramón Castro.