![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запуск 1-ой копии проги! [D6, XP]
serko © (2006-06-16 01:03:00)Ребят расскажите как правильно сделать чтобы прога была запущена только в одном экземляре!
Я вот пробовал делать так:
добали в *.dpr
firstcopy:=findwindow('Tform1','Прога');
if firstcopy <>0 then
begin
SetForegroundWindow(FirstCopy);
Application.terminate;
end;
Но так получается что если у меня окрыт проект в Delphi то при компиляции прога сразу же запускается! А не хотелось бы этого, потому как не удобно очень!
Как сделать правильно? Примерчик в студию....
Lex_! (2006-06-21 05:08:00) [1]
> Опечаточка! Жму Run, а прога ЗАКРЫВАЕТСЯ
Так это ... где обработчик то?... Нужно ДО application.run
Иначе у тебя форма создается, и соответственно программа ее находит и закрывается...
Zhekacoder (2006-06-20 18:42:00) [2]Надо запустить ее 1 раз
serko (2006-06-16 01:16:00) [3]Sorry уже нашел!
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1150369563&n=18
> то при компиляции прога сразу же запускается!
Опечаточка! Жму Run, а прога ЗАКРЫВАЕТСЯ
Asail (2006-06-16 01:10:00) [4]Можно серез мутекс, например так:
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 жмешь?