Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.09;
Скачать: CL | DM;

Вниз

Запуск 1-ой копии проги!   Найти похожие ветки 

 
serko ©   (2006-06-16 01:03) [0]

Ребят расскажите как правильно сделать чтобы прога была запущена только в одном экземляре!
Я вот пробовал делать так:
добали в *.dpr

firstcopy:=findwindow("Tform1","Прога");
 if firstcopy <>0 then
 begin
      SetForegroundWindow(FirstCopy);
      Application.terminate;
 end;

Но так получается что если у меня окрыт проект в Delphi то при компиляции прога сразу же запускается! А не хотелось бы этого, потому как не удобно очень!

Как сделать правильно? Примерчик в студию....


 
Asail   (2006-06-16 01:10) [1]

Можно серез мутекс, например так:

function Check: boolean;
var
 HM: THandle;
begin
 HM := OpenMutex(MUTEX_ALL_ACCESS, false, "MyMutex");
 Result := (HM <> 0);
 if HM = 0 then HM := CreateMutex(nil, false, "MyMutex");
end;

begin
 if Check then Exit;
 Application.Initialize;
 . . .


Тока я чего-то не понял насчет автоматического запуска при компиляции...
Может, ты Run жмешь?


 
serko ©   (2006-06-16 01:16) [2]

Sorry уже нашел!

http://delphimaster.net/view/2-1150369563/


> то при компиляции прога сразу же запускается!


Опечаточка! Жму Run, а прога ЗАКРЫВАЕТСЯ


 
Zhekacoder   (2006-06-20 18:42) [3]

Надо запустить ее 1 раз


 
Lex_! ©   (2006-06-21 05:08) [4]


> Опечаточка! Жму Run, а прога ЗАКРЫВАЕТСЯ

Так это ... где обработчик то?... Нужно ДО application.run
Иначе у тебя форма создается, и соответственно программа ее находит и закрывается...



Страницы: 1 вся ветка

Текущий архив: 2006.07.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.053 c
2-1151035731
Mir
2006-06-23 08:08
2006.07.09
Выполнение команды через shellexecute


1-1149017519
redlord
2006-05-30 23:31
2006.07.09
как узнать родителя окна по указателю


3-1147352502
wirg
2006-05-11 17:01
2006.07.09
Filter


9-1131870180
Silica
2005-11-13 11:23
2006.07.09
Игры


15-1149836731
0bsid
2006-06-09 11:05
2006.07.09
PocketPC