Bom dia a todos, Estou montando um projetinho simples de cadastros, pois estou iniciando no delphi e usando ele para aprender algumas coisas. Bom, estou tentando fazer um procedimento para chamar meus formulários, pois em cada Action para chamar um formulário estou utilizando o código abaixo :
if FrmCadClientes = nil then begin Application.CreateForm(TFrmCadClientes, FrmCadClientes); FrmCadClientes.Show; end else begin if FrmCadClientes.WindowState = wsMinimized then begin FrmCadClientes.WindowState := wsNormal; end; FrmCadClientes.Show; end; o que ocorre, é que eu estou tento dificuldades com os tipos dos paramentros do procedimento CreateForm(). Estou tentando usar assim, mas sem sucesso: procedure TFrmPrincipal.AbreForm(TFForm: TComponentClass; N_Form: TForm); begin if N_Form = nil then begin Application.CreateForm(TFForm, N_Form); N_Form.Show; end else begin if N_Form.WindowState = wsMinimized then begin N_Form.WindowState := wsNormal; end; N_Form.Show; end; end; Usando meu procedimento da seguinte maneira, AbreForm(TFrmCadClientes, FrmCadClientes); o form abre varias vezes quantas forem clicadas no botão, e usando da primeira forma, ele funciona corretamente, utilizei o mesmo formulário nas duas formas. PS.: Esse formulário é herdado de um formulário base, no FrmPrincipal o FormStyle é fsMDIForm e os outros como fsMDIChild. Obrigado. -------------------------------------------------------------------------- Marciano Venter Email: venter.marci...@gmail.com Celular: (51) 9672 6093 venter.marci...@gmail.com marcianoven...@hotmail.com [image: Twitter] <http://www.twitter.com/ventermarciano>@ventermarciano [image: Facebook]<http://www.facebook.com/profile.php?id=100000304177338&ref=profile> Marciano Venter [As partes desta mensagem que não continham texto foram removidas]