FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Error al Crear Ventanas dinámicamente
Hola amigos:
Tengo un entorno MDI en Delphi 6 Empresarial, con errores de Acceso a Memoria, y puede que la correccíon que he hecho sea peor que la enfermedad. Todas la ventanas son Ventanas Hijas, creadas dinámicamente. Creo una SubVentana dentro de otra, el esquema es mas o menos el siguiente: Código:
----------------- SubVentana : TSubVentana // hereda de Tform procedure Tsubventana.FormClose(....) begin Action := caFree; end; ----------------- type Form1 = Class(TForm) ... private Form1_Sub:TsubVentana; // para comunicarme con la SubVentana end; Implementation procedure Tform1.ToolButton1Click(...); begin try ToolButton1.Enabled := false; Form1_Sub := TSubVentana.Create(application); ... Form1_Sub.ShowModal; finally Toolbutton1.Enabled:= true; Form1_Sub:=nil; end; end; // ToolbuttonClick ----------------- type Form2 = Class(TForm) ... private Form2_Sub:TsubVentana; // para comunicarme con la SubVentana end; Implementation procedure Tform2.ToolButton2Click(...); begin try ToolButton2.Enabled := false; Form2_Sub := TSubVentana.Create(application); ... Form2_Sub.ShowModal; finally Toolbutton1.Enabled:= true; Form2_Sub:=nil; end; end; // ToolbuttonClick La razón de poner esa línea, es que la primera vez que abro la subVentana desde Form1 y Form2 va bien, pero una vez cerradas las subventanas, cuando las abro de nuevo, los Toolbutton no se Habilitan si queda una instancia de TSbuVentana (parece como si se cruzaran los punteros de Form1_Sub y Form2_Sub). Ejemplo, Abro las siguientes Ventanas: Form1 Form1_Sub // el ToolButton se INhabilita Form2 Form2_Sub // el ToolButton se INhabilita Cierro las Ventanas: Form1_Sub // el ToolButton se Habilita Form2_Sub // el ToolButton se Habilita Abro de nuevo: Form1_Sub // el ToolButton se INhabilita Form2_Sub // el ToolButton se INhabilita **Hasta aqui todo correcto** Cierro : Form1_Sub // El ToolButton se queda INHABILITADO (grrrrrrr) Form2_Sub // **** Se habilitan los 2 ToolButtons, el de Form1 y el de Form2 ¿?¿?¿ Por qué ?¿?¿? He intentado explicarme lo mejor posible,si he dejado algo por comentar, no dudeis en preguntarme. Muchisimas gracias de antemano. |
|
|
|