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]

Responder a