Array
(
)

Abrir um Aplicativo via programa!

Cabelo
   - 25 mar 2004

Caros Colegas

Estou desenvolvendo um sistema gerencial, com acesso a um banco Firebird. Programo em Delphi 7, .CLX, pq primeiramente, meu sistema deverá rodar em Windows, depois será migrado para Linux, acesso com DBExpress. O problema é o seguinte, eu gravo arquivos com extensões variadas em campos Blob do FB, no Windows, basta eu usar a biblioteca ShellAPI para rodar o aplicativo associado à extensão do arquivo, mas como faço isso para o Linux, lembrando que trabalho com .CLX e não Kylyx, deverá ser uma função que rode nas duas plataformas..

Agradeço a atenção.

Cabelo


Dopi
   - 26 abr 2004

Achei essa funçao em newsgroup.borland.com roda programas externos em Widows e Linux.

Uses {$ifdef LINUX} Libc, {$endif}
{$ifdef MSWINDOWS} Windows, {$endif} .....


procedure RunCommand(Command: String);
var
{$ifdef MSWINDOWS} Show : Integer;{$endif}
{$ifdef LINUX} {$endif}
ConnectCommand : PChar;
begin
{$ifdef LINUX}
ConnectCommand := PChar(Command + ´&´);
Libc.system(ConnectCommand);
{$endif}
{$ifdef MSWINDOWS}
ConnectCommand := PChar(Command);
Show := sw_ShowNormal;
winexec(ConnectCommand, Show);
{$endif}
end;


Rfpsatin
   - 22 set 2004

Nao ta rodando! to usando kylix 3 numa estacao redhat9

tentei passar o seguinte comando.

´mozilla´ e ´/usr/bin/mozilla´ e nao rodou nehum dos 2.


Citação:
Achei essa funçao em newsgroup.borland.com roda programas externos em Widows e Linux.

Uses {$ifdef LINUX} Libc, {$endif}
{$ifdef MSWINDOWS} Windows, {$endif} .....


procedure RunCommand(Command: String);
var
{$ifdef MSWINDOWS} Show : Integer;{$endif}
{$ifdef LINUX} {$endif}
ConnectCommand : PChar;
begin
{$ifdef LINUX}
ConnectCommand := PChar(Command + ´&´);
Libc.system(ConnectCommand);
{$endif}
{$ifdef MSWINDOWS}
ConnectCommand := PChar(Command);
Show := sw_ShowNormal;
winexec(ConnectCommand, Show);
{$endif}
end;



Dopi
   - 22 set 2004

Verifique as suas pemissões....

Comigo funcionou perfeitamente em Windows e Linux

Experimente abrir um terminal e digitar um comando... se ele funcionar no terminal deve funcionar na função... ou experimente rodar como root...

tente com programas mais simples primeiro... ex: kedit


Dopi
   - 22 set 2004

Ola rfpsatin

Realmente refiz o teste no Kylix 3 no novo Conectiva 10 e não funcionou de dentro da IDE...

Rodando o programa fora da IDE funcionou sem problemas. Se voce não está conseguindo rodar o seu programa fora da IDE digite:

source /usr/local/kylix3/bin/kylixpath

para ajustar as váriaveis de Paths...

Experimentei rodar ´mozilla´ e deu tudo certo...