Ver Mensaje Individual
  #8  
Antiguo 16-09-2011
Avatar de hgiacobone
hgiacobone hgiacobone is offline
Miembro
 
Registrado: may 2003
Ubicación: La Plata, Bs. As., Argentina
Posts: 165
Reputación: 24
hgiacobone Va por buen camino
Cita:
Empezado por DarKraZY Ver Mensaje
Bueno, es una forma de hacerlo.... pero nada tiene que ver con OOP
Tanto las variables como el método podrías ponerlo en la parte privada de TForm1. Pero aún así, no tiene sentido que componentes que vas a mostrar y que van a ser propios de TfrmCustomDlg estén declarados en TForm1.
Coincido con lo dicho en un todo, pero la solución responde a varios factores:
En primer lugar, el Form creado en runtime (MyForm o TfrmCustomDlg) no debe contener en su estructura interna nada extra, porque se instancia en diferentes partes del sistema y se "rellena" con elementos y funciones propias del momento en que se lo invoca.
Aqui por ejemplo, solo había que responder al evento OnClick de un TCheckbox también creado en runtime, pero en otros módulos del sistema, la llamada a este formulario tal vez responda a eventos de otros componentes o incluso a ninguno, ya que se lo puede utilizar para mostrar un simple texto y nada más.

A parte de esto y para este caso particular, la necesidad de declarar las variables como globales del Form principal, es porque yo debía poder acceder desde el método Check1_OnClic() al componente DATE1 que de lo contrario quedaba oculto si lo declaraba localmente. Claro, solo era necesario declarar esta variable y el resto podrían permanecer donde estaban ya que no se invocan desde otros lugares, pero no hace al caso.

Como dije, esta solución lejos de ser tal vez la más adecuada, se ajusta perfectamente a este particular caso.
Reitero el agradecimiento a todos y este nutritivo feedback.
Saludos,
__________________
Gracias de antemano por vuestra ayuda.
·.:*:.·Yako·.:*:.·
Responder Con Cita