Fórum Criar form (parâmetro por referência) #350929
21/12/2007
0
Pessoal, uso uma proc no meu sistema para criar/exibir os forms. Fiz uma alteração nela (sugerida pelo amigo Massuda) para sanar um erro de violação de acesso, passando o parâmetro do form a ser criado para referência. Ficou assim:
Porém, estou tendo problema na chamada da procedure.
Se fizer como chamava antes da mudança:
Ocorre o seguinte erro:
Se fizer assim:
Ocorre uma excessão de que o objeto ´frmSetores´ (no exemplo) já existe.
Conto com a habitual pro atividade dos amigos do forum.
Obrigado.
procedure AbreForm(aClasseForm: TComponentClass; [b:a7763539bb]var[/b:a7763539bb] aForm: TForm);
begin
Application.CreateForm(aClasseForm, aForm);
try
aForm.ShowModal;
finally
aForm.Release;
aForm := nil;
end;
end;
* a alteração feita foi incluir var no parâmetro do form
Porém, estou tendo problema na chamada da procedure.
Se fizer como chamava antes da mudança:
procedure TfrmMain.actSetoresExecute(Sender: TObject);
begin
AbreForm(TfrmSetores, frmSetores);
end;
Ocorre o seguinte erro:
Types of actual and formal var parameters must be identical
Se fizer assim:
procedure TfrmMain.actSetoresExecute(Sender: TObject);
var
aForm: TForm;
begin
aForm.Name := ´frmSetores´;
AbreForm(TfrmSetores, aForm);
end;
Ocorre uma excessão de que o objeto ´frmSetores´ (no exemplo) já existe.
Conto com a habitual pro atividade dos amigos do forum.
Obrigado.
Luciano.badoe
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)