Try Except com Shell Execute
15/02/2014
0
Estou dentando fazer um tratamento com try except para que caso ele não consiga abrir o WORD o sistema informe uma mensagem de erro porem nao dá certo, o codigo esta assim:
begin Try shellexecute(Handle, 'open', 'winword1.exe', '', nil,sw_shownormal); Except Application.MessageBox('Não foi possivel executar o Microsoft Word. '+#13+'Entre em contato com o setor de TI para verificar.', 'Atenção',MB_ICONERROR); End; end;
Alterei o comando WINWORD.EXE para WINWORD1.EXE para testar o try, porem quando clico no botão que faz essa função o sistema não aparece a mensagem de erro. Alguem poderia me dar uma ajudar?
Deivid Costa
Posts
15/02/2014
Marisiana Battistella
Encontrei este post no site que fala sobre esse comando ShellExecute que vc está utilizando:
[url]https://www.devmedia.com.br/usando-shellexecute-para-executar-aplicativos-externos/613[/url]
Percebi que nos exemplos deste post em nenhum deles é utilizado o "nil", em todos é passada um string vazia..
Como por exemplo: ShellExecute(handle,'open',PChar(edArquivo.Text), '','',SW_SHOWNORMAL);
Não sei se isso tem alguma a ver ou não...
17/02/2014
Luiz
procedure TForm1.Button1Click(Sender: TObject); var retorno : integer; begin retorno := shellexecute(Handle, 'open', 'winword1.exe', '', nil,sw_shownormal); if ( retorno = ERROR_FILE_NOT_FOUND) then begin ShowMessage('Arquivo não encontrado!'); exit; end end;
20/02/2014
Deivid Costa
procedure TForm1.Button1Click(Sender: TObject); var retorno : integer; begin retorno := shellexecute(Handle, 'open', 'winword1.exe', '', nil,sw_shownormal); if ( retorno = ERROR_FILE_NOT_FOUND) then begin ShowMessage('Arquivo não encontrado!'); exit; end end;
Obrigado Luiz funcionou certinho.
Obrigado pelo pela indicação do post Marisiana.
Obrigado a todos pela ajuda.
20/02/2014
Marisiana Battistella
Fico feliz por ter contribuido!
Clique aqui para fazer login e interagir na Comunidade :)