Cita:
Empezado por DarKraZY
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,