Jose_Pérez
18-01-2006, 11:20:30
Hola a todos:
Tengo una aplicación (trabajo con Delphi 5) que lleva rodando algo más de un año. Después de chequear su funcionamiento, ayer me sorprendió con este mensaje de error: "A component named TfrmNombreForm already exists"·
He consultado el foro sobre la creación dinámica de formularios, y el método Free, y parece que todo mi código está en orden, al memos aparentemente. También he pasado los forms de "auto-create" a "available forms".
El FormStyle del form principal es fsMDIForm, y el del form "hijo" es fsNormal.
Así creo y muestro al firmulario...
procedure TfrmPrincipal.AltasdeValesClick(Sender: TObject);
var
Form: TfrmAltasVales;
begin
Form:=TfrmAltasVales.Create(Self);
With Form Do
Begin
Height:=436;
Width:=786;
ShowModal;
End;
end;
Y en el evento OnClose del formulario lo destruyo..
procedure TfrmAltasVales.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
Como veis, todo parece ser correcto. Insisto en que la aplicación lleva más de un año rodando y nunca antes se me había presentado este error. De todos modos hace días que el sistema operativo (Windows 2000) está fallando. No obstante, me gustaría saber si hay algún modo de comprobar si los formularios "realmente" se han destruido.
Gracias.
Tengo una aplicación (trabajo con Delphi 5) que lleva rodando algo más de un año. Después de chequear su funcionamiento, ayer me sorprendió con este mensaje de error: "A component named TfrmNombreForm already exists"·
He consultado el foro sobre la creación dinámica de formularios, y el método Free, y parece que todo mi código está en orden, al memos aparentemente. También he pasado los forms de "auto-create" a "available forms".
El FormStyle del form principal es fsMDIForm, y el del form "hijo" es fsNormal.
Así creo y muestro al firmulario...
procedure TfrmPrincipal.AltasdeValesClick(Sender: TObject);
var
Form: TfrmAltasVales;
begin
Form:=TfrmAltasVales.Create(Self);
With Form Do
Begin
Height:=436;
Width:=786;
ShowModal;
End;
end;
Y en el evento OnClose del formulario lo destruyo..
procedure TfrmAltasVales.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
Action:=caFree;
end;
Como veis, todo parece ser correcto. Insisto en que la aplicación lleva más de un año rodando y nunca antes se me había presentado este error. De todos modos hace días que el sistema operativo (Windows 2000) está fallando. No obstante, me gustaría saber si hay algún modo de comprobar si los formularios "realmente" se han destruido.
Gracias.