Fórum Evitar a abertura do programa mais de uma vez na mesma maqui #176591
21/08/2003
0
Que evitar que meu programa seja aberto no mesmo terminal mais de uma vez, claro que na rede possa abrilo em quantos terminais existirem.
Desde já grato pela atenção de todos
Desde já grato pela atenção de todos
Machado
Curtir tópico
+ 0
Responder
Posts
21/08/2003
Carnette
Tirado de 800 dicas e truques do LloydSoft
http://www.lloydsoft.hpg.ig.com.br/
Executando uma única cópia do aplicativo
Se você quiser executar uma única copia do aplicativo, o código de inicializacao do arquivo fonte do PROJETO pode ser escrito conforme segue:
program Project1;
uses
Forms,
Windows,
Dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.RES}
Var HprevHist : HWND;
begin
Application.Initialize;
HprevHist := FindWindow(Nil, PChar(´TheProgrammer´));
if HprevHist = 0 then begin
Application.Title := ´TheProgrammer´;
Application.CreateForm(TForm1, Form1);
Application.Run;
end else
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
Com esse código o usuário pode iniciar uma nova copia do aplicativo somente se não houver outra anterior. Caso contrario é exibido uma mensagem para o usuário.
Existe tbm um componente muito bom da LMDTOOLS que faz isto...
http://www.lloydsoft.hpg.ig.com.br/
Executando uma única cópia do aplicativo
Se você quiser executar uma única copia do aplicativo, o código de inicializacao do arquivo fonte do PROJETO pode ser escrito conforme segue:
program Project1;
uses
Forms,
Windows,
Dialogs,
Unit1 in ´Unit1.pas´ ;
{$R *.RES}
Var HprevHist : HWND;
begin
Application.Initialize;
HprevHist := FindWindow(Nil, PChar(´TheProgrammer´));
if HprevHist = 0 then begin
Application.Title := ´TheProgrammer´;
Application.CreateForm(TForm1, Form1);
Application.Run;
end else
MessageDlg(´Você não pode executar outra cópia do aplicativo´, mtInformation, [mbOK], 0);
Com esse código o usuário pode iniciar uma nova copia do aplicativo somente se não houver outra anterior. Caso contrario é exibido uma mensagem para o usuário.
Existe tbm um componente muito bom da LMDTOOLS que faz isto...
Responder
Gostei + 0
21/08/2003
Eniorm
Ae Carnette, é uma boa dica, mas..., sei lá,
eu ainda ñ a vi funcionando, será q eu tô
fazendo algo errado!?!
T+
eu ainda ñ a vi funcionando, será q eu tô
fazendo algo errado!?!
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)