• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Blue_Acid

Com dialog não faz ShellExecute

5 mensagens neste tópico

Viva pessoal, o meu problema é o seguinte, já ando a um tempo a batalhar para tentar meter o executavel em DOS do 7zip a funcionar para fazer backups das bases de dados.

Sei usar o ShellExecute que funciona na perfeição, menos quando eu chamo os dialogs neste caso de de escolhe de uma directoria, a partir desse momento o ShellExecute não funciona.

Alguem já teve algum stress destes?

Já agora qual é o comando para identificar a Path onde a aplicação está instalada??

Um Abraço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já lá vão uns anos desde que usei o Delphi pela última vez, por isso posso não "acertar no porta-aviões" mas não devo errar por muito.

O local onde a tua aplicação corre é uma propriedade do Application, creio que é o Application.PathName.

Quanto ao ShellExecute, explica lá isso como deve ser porque não percebi nada do teu problema. Já usei o ShellExecute inumeras vezes e nunca tive problemas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá

Saber o caminho onde a aplicação está a correr

ExtractFilePath(Application.ExeName);

Quanto ao ShellExecute não percebi bem o que pretendes fazer, mas será algo desto género, abrir um ficheiro e

executar uma aplicação associada?

Este pequeno exemplo usa um dialog para abrir um ficheiro no notepad:

if OpenDialog.Execute then
  ShellExecute(Form1.Handle, nil, 'c:\windows\notepad.exe',OpenDialog.FileName, nil, SW_SHOWNORMAL);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Viva, bem se ñ me fiz entender, vou tentar explicar-me melhor

Estou a fazer um sistema de backups para os meus pequenos softwares, e para isso estou a usar o EXE para DOS do 7Zip www.7zip.org

A minha função do ShellExecute sei que está correcta, porque funciona se eu não executar o dialog, e está a aceitar todo o tipo de parametros que eu envio.

O problema é que quero definir nos parametros o local de destino do backup, e para isso uso o dialog, mas após executar o dialog, o ShellExecute não funciona.

Penso que assim já me fiz entender melhor.

Vou testar a solução do knightcoder e depois dou novidades.

Um Abraço  :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

A menos que mostres o teu código não vai dar para perceber o porquê desse comportamento...

A solução do knightcoder  parece-me correcta, era assim que eu fazia quando tinha de fazer coisas identicas.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora