tMenuItem x Winexec

18/12/2003

0

Olá...
Estou criando tMenuItem dinamicamente carregando um campo de uma tabela, como faço para que esse menu execute um winwexec?
Tentei colocar como parâmetro do winexec o conteúdo do campo mas não deu certo.
WinExec(´Table1CampoAsStrring´, sw_ShowNormal);
Obrigado


Nigro

Nigro

Responder

Posts

18/12/2003

Deus

Tire as aspas. Com as aspas, você está literalmente mandando o WinExec executar um comando [i:a8c7b18788]´Table1CampoAsStrring´[/i:a8c7b18788]. Faça

WinExec(Table1Campo.AsString, sw_ShowNormal);


Espero que tenha funcionado para você. Se não tiver funcionado, verifique:

1) Se não é melhor usar [i:a8c7b18788]ShellExecute[/i:a8c7b18788];
2) Se a string contém um arquivo executável válido;
3) Se você está puxando a string da tabela correta.

Abraços, dEUS.


Responder

18/12/2003

Nigro

Olá... obrigado pela dica, mas creio que você não tenha feito o teste antes de enviar a dica, pois existe uma incompatibilidade nos parâmetros, pois o parâmetro não é do tipo strring.
Quanto as aspas, eu deixei de propósito pois quis fazer um exemplo genérico. Com certeza o path está completo e válido, pois fiz o teste com c:\autoexec.bat, podedria me dar um exemplo com shellexecute, teria que declarar alguma unit em uses?
Valeu.


Responder

18/12/2003

Nigro

up


Responder

18/12/2003

Deus

Se o parâmetro não é do tipo String, mas sim PChar, que tal, ao invés de

WinExec(Table1Campo.AsString, sw_ShowNormal);


usar

WinExec(PChar(Table1Campo.AsString), sw_ShowNormal);


Para informações a respeito do ShellExecute, clique [url=http://www.latiumsoftware.com/en/delphi/00002.php]neste link[/url] para exemplos de como utilizá-lo. Abraços, dEUS.


Responder

19/12/2003

Nigro

Agora sim...
Valeu pela dica... estava com essa dúvida há uma semana, obrigado


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar