Fórum como executar uma programa feito em Clipper via Delphi #240087
28/06/2004
0
Já procurei na pesquisar do Clube Delphi e nao achei nada sobre esta minha duvida, conto com a colaboração dos senhores e senhoras do mundo Delphi.
Coloquei um buttom e no onclick digitei a seguinte linha :
WinExec(´D:\Integ\IMPLIV02´,SW_SHOW);
O problema e que ao abrir o aplicativo aparece a seguinte menssagem :
Error DBCMD/2001 Workare not in use : ____DBZAP
Obs1. IMPLIV02 e um aplicativo feito em Clipper, e este serve para copiar um arquivo texto para uma tabela DBF.
Obs2. O aplicativo funciona normalmente via Dos e Explorer.
desde já muito obrigado pela atenção.
Tornadofuracao
Curtir tópico
+ 0Posts
28/06/2004
Code
[b:a258429874]interface[/b:a258429874]
[b:a258429874]Uses [/b:a258429874]
ShellApi
[b:a258429874]Public[/b:a258429874]
procedure ExecutaApp(Nome,State,NomeExec,Path:Pchar;Estado:Integer
[b:a258429874]implementation[/b:a258429874]
procedure TFrmPrin.ExecutaApp(Nome,State,NomeExec,Path:Pchar;Estado:Integer);
//
// Executa um aplicativo somente se ele não estiver aberto, caso
// contrário apenas chama-o
//
// Valores para Estdo: SW_SHOWNORMAL Janela em modo normal
// SW_MAXIMIZE Janela maximizada
// SW_MINIMIZE Janela minimizada
// SW_HIDE Janela Escondida
//
// Veja um exemplo de como chamar a calculadora do Windows
//
// ExecutaApp(´CALCULADORA´,´OPEN´,´CALC.EXE´,´C:\WINDOWS´,8);
//
// Onde ´CALCULADORA´ é o nome da janela do aplicativo
//
var
TheWindows: HWND;
begin
theWindows := FindWindow(NIL,Nome);
if TheWindows <> 0 then
begin
SetForegroundWindow(TheWindows)
end
else
begin
if (Estado > 3) or (Estado < 1) then
begin
Estado := 1;
end;
ShellExecute(Application.Handle,State,NomeExec,NIL,Path,Estado);
end;
end;
este é o Procedimento ...
depois é vc criar um botão e com evento OnClick associando o evento ao procedimento ex:
procedure TFrmPrin.CalculadoraClick(Sender: TObject);
begin
ExecutaApp(´CALCULADORA´,´OPEN´,´CALC.EXE´,´C:\WINDOWS´,8);
end;
Gostei + 0
28/06/2004
Code
onde apareceu o 8) o correto seria o nº 8
Gostei + 0
28/06/2004
Nildo
Olá Code, eu já tinha editado sua mensagem para tal visualização logo após seu envio.
Gostei + 0
28/06/2004
Dopi
Tenha certeza que voce está no diretório do programa antes de chamar o EXE. Isso pode ser feito com um simples aqrquivo BAT
CD \PROGCLIP
PROGCLIP
CD \
Lembre-se que programas DOS não se dão muito bem com nomes longos, prefira instalar o PROGCLIP em um diretorio com 8.3...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)