Creación/destrucción dinámica de forms; confirmar destrucción.
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...
Y en el evento OnClose del formulario lo destruyo..
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. |
Si es formulario va a ser modal, puedes cambiar el codigo por éste:
Y en el close utilizar caNone; Supongo que tu problema viene, porque debido a algun fallo entre la creación y la destrucción el formulario, éste no se ha destuído realmente. Creo que de esta forma podrás asegurarlo. |
Gracias Neftali. Voy a probarlo.
Un apunte: supongo que utilizar caNone es equivalente a no poner nada. ;) |
Cita:
//------------------------------------------------------------------------ If a form is an MDI child form, and its BorderIcons property is biMinimize, then the default Action is caMinimize. If a MDI child form does not have these settings, the default Action is caNone... If a form is an SDI child form, Action defaults to caHide. //------------------------------------------------------------------------ |
La franja horaria es GMT +2. Ahora son las 05:27:43. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi