Fórum Aparecer erro quando não encontra tabela #341740
14/05/2007
0
Gostaria que aparecesse uma mensagem dizendo que não encontrou o arquivo tal e desse a opção de localizá-lo antes de abrir a aplicação.
Acho que se faz isso com os comandos [b:929667fcf5]try exept[/b:929667fcf5] só que não tenho idéia de como utilizá-los.
Vagner.oliveira
Curtir tópico
+ 0Posts
15/05/2007
Marco Salles
Gostei + 0
15/05/2007
Paullsoftware
if not FileExists(´NomeArquivo´) then
//Mesangem de erro
:wink:
Gostei + 0
15/05/2007
Martins
boa sorte!
PS: O Código do [b:1e607adf94]paullsoftware[/b:1e607adf94] não funcionaria pq as tabelas estão fisicamente dentro do arquivo MDB, se fosse Paradox ou outro similar funcionaria tb.
t+
Gostei + 0
15/05/2007
Vagner.oliveira
Coloquei 3 forms pra teste:
Form1 -> está a tabela a ser mostrada.
Form2 -> quando a tabela não é encontrada abre o Form2 para localizá-la
Form3 -> é o ´splash´ que depois de fechado verifica se a tabela está junto ao executável.
Form3 - ´Splash´ (é que coloquei um botão pra fechar manualmente, nada de mais)
procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//Hide;
Form1.Table1.Close;
try
Form1.Table1.DatabaseName:=Form1.Table2.FieldByName(´caminho´).AsString;
Form1.Table1.Open;
except
Form2.StatusBar1.Panels[0].Text:=Form1.Table2.FieldByName(´caminho´).AsString;
showmessage(´ERRO: tabela não encontrada selecione o caminho coreto´);
Form2.ShowModal;
end; {fim do bloco try exceptd
quando as 2 ações acima estão Ok ele executa os
comandos descritos abaixo}
ShowMessage(´Fim do bloco Exept´);
Form1.Show;
end;
Form2 - Local para selecionar o caminho da tabela
procedure TForm2.Button1Click(Sender: TObject); begin Form1.Table1.Close; try Form1.Table1.DatabaseName:=ShellTreeView1.Path +´\´; Form1.Table1.Open; Form1.Show; except showmessage(´ERRO: tabela não encontrada selecione o caminho coreto´); end; //fim do bloco try exceptd StatusBar1.Panels[0].Text:=ShellTreeView1.Path +´\´; Form1.Table2.Edit; Form1.Table2.FieldByName(´caminho´).AsString:=ShellTreeView1.Path +´\´; Form1.Table2.Post; end;
Form1 - Se o caminho da tabela está ok ele abre.
procedure TForm1.FormShow(Sender: TObject); begin Form2.Hide; end;
-
-
[size=16:51c76629e6]O problema é que depois do try e exept estarem OK o form 1 não abre, ele pisca e fecha o programa.
Lá no avaliable forms coloquei um a um para o outro lado (sendo que o form3 é o q abre primeiro) e persiste o erro.
[/size:51c76629e6]
Gostei + 0
15/05/2007
Paullsoftware
Valeu Martins, foi uma leitura errada... eu li como arquivo mdb e não tabela, desculpa ae o vacilo!! :oops:
Gostei + 0
15/05/2007
Martins
Valeu Martins, foi uma leitura errada... eu li como arquivo mdb e não tabela, desculpa ae o vacilo!! :oops:[/quote:cddc511a0d]
Tranquilo meu irmão, fica frio isso acontece.
[b:cddc511a0d]vagner.oliveira[/b:cddc511a0d] Tente trocar [b:cddc511a0d]Show[/b:cddc511a0d] por [b:cddc511a0d]ShowModal[/b:cddc511a0d].
Gostei + 0
15/05/2007
Vagner.oliveira
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)