eu faço assim, no dpr: uses Forms, Jpeg, SysUtils, MidasLib, Windows, Dialogs, Messages, Classes, etc..
{$R *.res} var MutexHandle: THandle; function OneInstanceAndRunning: Boolean; begin Result := false; if (MutexHandle <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then begin MessageDlg('O sistema já está rodando nesta máquina.', mtWarning, [mbOK], 0); Result := True; end; end; begin ShortDateFormat := 'dd/mm/yyyy'; MutexHandle := CreateMutex(nil, True, 'ComerX'); // Deixa rodar apenas uma instância do aplicativo if OneInstanceAndRunning then begin CloseHandle(MutexHandle); Halt; end; try (..) finally if LongBool(MutexHandle) then CloseHandle(MutexHandle); end; Espero que ajude. []s Em 17/12/07, Herbert Junior <[EMAIL PROTECTED]> escreveu: > > PessoALL, boa tarde. > > Estou com um problema na minha aplicação client/server . > > O usuário consegue executar (abrir uma nova instância) da aplicação já > aberta. Ficando assim mais de 1 instância aberta. > > Como faço para tratar isso no código e não deixar que o usuário abra uma > nova instância?? > > Agradeço desde já. > > Herbert Junior > > [As partes desta mensagem que não continham texto foram removidas] > > > -- _________________________________ T.·.F.·.A.·. Fellipe Henrique [EMAIL PROTECTED] [As partes desta mensagem que não continham texto foram removidas]