Impedir que a aplicação principal seja fechada com outra...
Eu estou com um problema.
Tenho um sistema com 5 módulos (.exe) diferentes.
Gostaria que o módulo principal não pudesse ser fechado enquanto algum dos outros módulos estiver aberto.
Alguém tem idéia.
Obrigado, Márcio
Tenho um sistema com 5 módulos (.exe) diferentes.
Gostaria que o módulo principal não pudesse ser fechado enquanto algum dos outros módulos estiver aberto.
Alguém tem idéia.
Obrigado, Márcio
Mkoch
Curtidas 0
Respostas
Fred
15/08/2003
Veja se isto te ajuda (nao testei, copiei da revista Clube Delphi 43) e a pergunta da revista era: Como executar programa externo ao Delphi e esperar a sua finalização, para somente depois retornar a execução da minha aplicação?
Voce pode, no lugar de Calc colocar seus modulos.exe
Resposta:
procedure tform1.button1click(sender: tobject);
var
StartupInfo : TStartupInfo.
ProcessInformation : TProcessInformation;
ProcessRuning : Boolean;
begin
//inicia o processo
FillChar(StartupInfo,SIZEOF(StartupInfo),#0);
StartupInfo.cb := SIZEOF(StartupInfo);
ProcessRuning := CreateProcess(nil, ´Calc.exe´, nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInformation);
//verifica se o processo esta sendo executado e aguarda seu
//termino para continuar a execucao do programa
if processRuning then
WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
showmessage(´a calculadora foi finalizada´);
end;
Voce pode, no lugar de Calc colocar seus modulos.exe
Resposta:
procedure tform1.button1click(sender: tobject);
var
StartupInfo : TStartupInfo.
ProcessInformation : TProcessInformation;
ProcessRuning : Boolean;
begin
//inicia o processo
FillChar(StartupInfo,SIZEOF(StartupInfo),#0);
StartupInfo.cb := SIZEOF(StartupInfo);
ProcessRuning := CreateProcess(nil, ´Calc.exe´, nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartupInfo, ProcessInformation);
//verifica se o processo esta sendo executado e aguarda seu
//termino para continuar a execucao do programa
if processRuning then
WaitForSingleObject(ProcessInformation.hProcess, INFINITE);
showmessage(´a calculadora foi finalizada´);
end;
GOSTEI 0