PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Delphi xe Erro E2043 #501597

18/11/2014

0

Tenho a seguinte rotina:

procedure MostreForm(Classe:TFormClass; var VariavelDeReferencia);

const
  Recursoes:Byte = 0;

var
  // Referência do novo form.
  NovoForm:TCustomForm absolute VariavelDeReferencia;

begin
  // Mais uma recursão.
  Inc(Recursoes);  // -------------------> Erro e2043
  try
    { Cria o novo form com a classe informada,
      armazenando sua referência (endereço) na variável também informada. }
    NovoForm := Classe.Create(Application);
  except
    on Excessao:Exception do
      begin
        LogExcessao('Procedure MostreForm',
                    Excessao,
                    'Houve um erro na criação de um novo form da classe ' +
                    Classe.ClassName + ' !');
        Exit;
      end;
  end;
  try
    try
      NovoForm.ShowModal;
    except
      on Excessao:Exception do
        LogExcessao('Procedure MostreForm',
                    Excessao,
                    'Houve um erro na exibição/execução do form ' + NovoForm.Name + ' !');
    end;
  finally
    NovoForm.Free;
  end;
  // Remove a referência do form removido.
  NovoForm := Nil;
  // Menos uma recursão.
  Dec(Recursoes);                   // -------------------> Erro e2043
  // Essa é a única ou última recursão e existe a referência do último item de menu acionado ?
  if (Recursoes = 0) and (UltimoMenu <> Nil) then FoqueMenuItem(UltimoMenu);
end;


Alguem poderia ajudar ?
Lourival Queiroz

Lourival Queiroz

Responder

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

Aceitar