thalesoli 0 Denunciar post Postado Agosto 10, 2005 Bom dia Pessoal Estou desenvolvendo um software baseado em MDI, no qual as janelas de cadastro herdam as suas características (ações e aspectos visuáis) de um formulário pai. A minha dúvida está na destruição dos formulários filhos. Quando chamo o formulário utilizo o sequinte código: if not Assigned(fmCliente) then fmCliente := TfmCliente.Create(Application)else fmCliente.Show;Neste código eu protejo o sistema de criar mais de uma cópia de cada formulário. Quando o formulário fecha, o formulário pai tem um código onclose que finaliza os formulários: procedure TfmPai.FormClose(Sender: TObject; var Action: TCloseAction);begin if Assigned(ds_Ctrl.Dataset) then ds_Ctrl.Dataset.Cancel; Action := caFree;end;Este código finaliza o formulário filho mas não limpa a variável, aí quando se clica novamente no menu correspondente ao formulário, ele não abre pois a variável não está nula. Em cada formulário filho estou colocando o seguinte: procedure TfmCliente.FormClose(Sender: TObject; var Action: TCloseAction);begin inherited; fmCliente := nil;end;Desta maneira corrige a falha. Mas eu gostaria de fazer isso diretamente no formulário pai. mas o mesmo código, apenas substituindo o nome do formulário pelo self, não funciona. Alguém que já tenha trabalhando com MDI podeira me ajudar nesta questão? desde já agradeço Falow http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Compartilhar este post Link para o post Compartilhar em outros sites
thalesoli 0 Denunciar post Postado Agosto 10, 2005 Pessoal ninguém pode me ajudar nessa também... :blink: é o segundo post que ninguém responde nada... ninguém sabe nada sobre MDI? falow http://forum.imasters.com.br/public/style_emoticons/default/bye1.gif Compartilhar este post Link para o post Compartilhar em outros sites
bastard2003 4 Denunciar post Postado Agosto 10, 2005 não sei se da certo em MDI... mas tenta colocar um Free pra eles. if not Assigned(fmCliente) thenfmCliente := TfmCliente.Create(Application)fmCliente.Showmodal;fmCliente.Free tenta assim.. qualquer coisa volta ai! Compartilhar este post Link para o post Compartilhar em outros sites