Ver Mensaje Individual
  #1  
Antiguo 27-06-2003
carlitos_se carlitos_se is offline
Registrado
 
Registrado: jun 2003
Posts: 1
Reputación: 0
carlitos_se Va por buen camino
Post Problema con MDI's!!!

Hola,
Soy nuevo en programación y estoy
realizando una aplicacion MDI y tengo un problema que quisiera consultarles:

Tengo los formularios MainForm,frmdatos,MDIChild

En mi aplicación quisiera crear los formularios MDIChild mostrando valores que proveniesen de aplicar algunas operaciones a datos que voy a ingresar antes en "frmdatos".


Para realizar esto en el formulario MainForm utilizo un Menu Principal con una opción Nuevo, la cual muesta el formulario "frmdatos" :

frmdatos.ShowModal;

, despues de haber ingresado todos los datos, se validan con un
Botón , en el cual creo el formulario MDIChild:

procedure Tfrmdatos.BitBtn2Click(Sender: TObject);
Var

Child: TMDIChild;

begin

Child:= TMDIChild.Create(application);

with Child do
begin
caption:='NONAME ' + IntToStr(MainForm.MDIChildCount+ 1);
operacion(datos);
escriberesultados;
end;

//operacion y escriberesultados son procedures
// del MDIChild.

ModalResult := 1;
frmdatos.Hide;

end;

Al final cuando ejecuto el programa parece funcionar bien, crea los formularios MDIChild mostrando los resultados correspondientes ,pero cuando quiero a veces cerrar alguno de ellos me sale el ERROR:

*************************************************
Project MDIAPP.exe raised exception class EInvalidPointer with
message 'Invalid Pointer operation'...
*************************************************


o el error


'Access Violation at address <address1> in Module MDIAPP.exe'
write of adress <address2>



Por favor, alguien me podría dar una idea de porque esta sucediendo esto? y si fuera tan amable de decirme como debería solucionarlo.

en el procedimiento de cerrar he colocado lo siguiente :

procedure TMDIChild.FormClose(Sender: TObject; var Action: TCloseAction);
begin

Action:=caFree;

end;


Muchas Gracias.
Responder Con Cita