Fórum Application.CreateForm() no Delphi 2005 #274046
24/03/2005
0
Caros amigos, ao selecionar uma opção do menu utilizo o seguinte código para chamar o form:
[color=blue:8d1e79bfba]Application.CreateForm(TfrmManPopulacaoVendedor, frmManPopulacaoVendedor);
frmManPopulacaoVendedor.ShowModal;
frmManPopulacaoVendedor.Free;[/color:8d1e79bfba]
No evento OnCreate do form que acabei de chamar testo se o acesso ao banco de dados ocorre com sucesso, caso haja falha na conexão ou outro tipo de erro qualquer finalizava o form e retornava ao form anterior ( no caso o do menu principal ). O problema e que no Delphi 2005 não consigo fazer o sistema cancelar o Oncreate. Após o except quero que o form seja cancelado e volte ao form anterior. abaixo o código do evento OnCreate do form frmManPopulacaoVendedor.
[color=blue:8d1e79bfba]procedure TfrmManPopulacaoVendedor.FormCreate(Sender: TObject);
begin
try
Dm.PopulacaoVendedor.Active := true;
Dm.PopulacaoUF.Active := true;
except
Mensagem(´Não foi possível acessar tabelas de manutenção ´);
frmManPopulacaoVendedor.Close;
end
end;[/color:8d1e79bfba]
No delphi 6/7 funcionava perfeitamente. Alguém poderia por gentileza explicar-me onde estou errando no 2005.
Desde já agradeço.
Marcos
[color=blue:8d1e79bfba]Application.CreateForm(TfrmManPopulacaoVendedor, frmManPopulacaoVendedor);
frmManPopulacaoVendedor.ShowModal;
frmManPopulacaoVendedor.Free;[/color:8d1e79bfba]
No evento OnCreate do form que acabei de chamar testo se o acesso ao banco de dados ocorre com sucesso, caso haja falha na conexão ou outro tipo de erro qualquer finalizava o form e retornava ao form anterior ( no caso o do menu principal ). O problema e que no Delphi 2005 não consigo fazer o sistema cancelar o Oncreate. Após o except quero que o form seja cancelado e volte ao form anterior. abaixo o código do evento OnCreate do form frmManPopulacaoVendedor.
[color=blue:8d1e79bfba]procedure TfrmManPopulacaoVendedor.FormCreate(Sender: TObject);
begin
try
Dm.PopulacaoVendedor.Active := true;
Dm.PopulacaoUF.Active := true;
except
Mensagem(´Não foi possível acessar tabelas de manutenção ´);
frmManPopulacaoVendedor.Close;
end
end;[/color:8d1e79bfba]
No delphi 6/7 funcionava perfeitamente. Alguém poderia por gentileza explicar-me onde estou errando no 2005.
Desde já agradeço.
Marcos
M_gab
Curtir tópico
+ 0
Responder
Posts
24/03/2005
Bon Jovi
Fica melhor não colocar esse código no evento OnCreate e sim em uma função separada, onde caso dê erro vc nem precisa chamar o Show do Form desnecessariamente.
function TfrmManPopulacaoVendedor.Abre: boolean; begin Result := False; try Dm.PopulacaoVendedor.Active := true; Dm.PopulacaoUF.Active := true; Result := True; except Mensagem(´Não foi possível acessar tabelas de manutenção ´); end; end; procedure TForm1.Button1Click(Sender: TObject); var Form: TfrmManPopulacaoVendedor; begin Form := TfrmManPopulacaoVendedor.Create(nil); try if Form.Abre then Form.ShowModal; finally FreeAndNil(Form); end; end;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)