Estou precisando chamar de dentro do PHP um executável que foi gerado no Delphi. Preciso passar parâmetros e aguardar o retorno do término da execução. O executável estará no mesmo servidor da minha aplicação gerada pelo ScripCase.
Gostaria de saber se isso é possível. A principio, o sistema gerado pelo SccriptCase, estará em um ambiente de Intranet e posteriormente na WEB. Pretendo ter o sistema ma WEB, com um servidor dedicado, e mantendo este programa executável em dephi.
Amaro,
De uma olhada nesse tópico talvez te ajude:
mas a aplicação em delphi rodaria na maquina do cliente ou no servidor …
É possivel sim:
Se o ambiente for linux use o binário gerado do delphi como cgi.
ou porte o seu código com o Lazarus e use a função http://php.net/manual/en/function.shell-exec.php.
se for windows:
Use o binário gerado do delphi como cgi ou a função http://php.net/manual/pt_BR/function.exec.php .
Eu obtive grande sucesso usando como cgi.
Mas lembre-se… Isto não ocorre pelas janelas no software gerado pelo delphi e sim pelo navegador chamando as funções ou o cgi.
exemplo básico de cgi (fonte: http://wiki.freepascal.org/CGI_Web_Programming) que roda em Freepascal/Lazarus/Delphi:
program mini;
uses dos;
var
a:string;
c:char;
begin
// set a cookie (must come before content-type line below)
// don’t forget to change the expires date
writeln(‘Set-cookie:widget=value; path=/; expires= Mon, 21-Mar-2005 18:37:00 GMT’);
// output legal http page
writeln(‘Content-Type:text/html’,#10#13);
// demonstrate get cookies
a:= GetEnv(‘HTTP_COOKIE’);
writeln(‘cookies:’,a);
// demonstrate GET result
a:=’’;
a:= GetEnv(‘QUERY_STRING’);
writeln('GET: ',a);
// demonstrate POST result
a:=’’;
while not eof(input) do
begin
read©;
a:= a+c;
end;
writeln('POST: ',a);
end.
Outro exemplo em Lazarus/Freepascal:
Outro exemplo em Delphi:
http://www.drbob42.com/books/cgi.htm
Apesar do post ser velho espero ter ajudado.
Esse é o meu garoto.
Parabéns Alexandre!!!