Chamada de Executavel pelo Delphi XE2

Delphi

09/07/2015

Bom dia pessoal,

Estou tentando chamar um Executavel atraves do Delphi XE2 passando parametros para o mesmo...

Tudo funciona bem quando faço isso pelo delphi 7 abaixo segue o exemplo do código...

WinExec(PAnsiChar(ExtractFilePath(Application.ExeName) + UpperCase('SicaRelatorios.exe') + ' '+ dm_Conexao.con_Conexao.UserName) , SW_SHOW)


qual seria o meu problema?...

quando eu executo essa linha de comando no delphi Xe2 ele não consegue completar o caminho do executavel.

Exemplo: o caminha é 'C:\tempx\executavel.exe paramtsr1 pamatsr2'...

no delphi XE2 fica assim o caminho 'C' apenas isso ai não consigo chamar o executavel... porem quando eu tiro a funçao
PAnsiChar 
[img:descricao=imagem do delphi XE2]http://arquivo.devmedia.com.br/forum/imagem/227560-20150709-121115.png[/img]
Jesus Lima

Jesus Lima

Curtidas 0

Respostas

Raimundo Pereira

Raimundo Pereira

09/07/2015

Declare em Uses : Shellapi

VAR

Pararm_Primario: string;
Pararm_Secundario:string;


begin

Pararm_Primario:='Caminho da aplicação externa';
Pararm_Secundario:='"Paramentro para aplicação externa"';

ShellExecute(0,nil,Pararm_Primario,PWideChar(Pararm_Secundario),nil,0);
GOSTEI 0
Jesus Lima

Jesus Lima

09/07/2015

P2


Consegui fazer... porem eu precisa passar 3 parametros pra aplicação que estou chamando... parametros de conexao (server, username, password)...

como faço para recuperar esses parametros na aplicação... passando pelo shellExecute...

pois pelo WinExec cada espaço depois do caminho do executavel é tratado como parametros...
GOSTEI 0
Jesus Lima

Jesus Lima

09/07/2015

Muito obg pela diga P2

Consegui aqui

na verdade a forma de chamar o ShellExecute usei assim..


ShellExecute((Handle,nil,PWideChar(Pararm_Primario),PWideChar(Pararm_Secundario),nil,SW_SHOWNORMAL);
ShellExecute((Handle,nil,PWideChar(Pararm_Primario),PWideChar(Pararm_Secundario),nil,SW_SHOWNORMAL);



de qualquer forma obrigado pela ajuda...
GOSTEI 0
POSTAR