GARANTIR DESCONTO

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:

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

Luciano.badoe

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar