![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Второй экземпляр проги! [D6, XP]
serko © (2006-03-31 00:31:00)Ребят подскажите!
Я вот использую такой код для предотвращения запуска втрого экземпляра моей проги:
{firstcopy:=findwindow('Tform1','Admin');
if firstcopy <>0 then
begin
SetForegroundWindow(FirstCopy);
Application.terminate;
end;}
И все нормально работает, если бы не одно маленькое НО! Когда я в Делфи копилирую прогу то она сразу же при открытии зарывается! Я понимаю что это так и должно быть, но все же не удобно каждый раз лазит в *.dpr и брать этот код в кавычки! Может подскажите что можна сделать в данном случае?
Amoeba (2006-03-31 10:57:00) [1]http://www.delphimaster.ru/articles/limit.html
Сергей М. (2006-03-31 10:48:00) [2]
> буквоедство
Как бы там ни было, решение с FindWindow() в простейших случаях тоже имеет право на жизнь.
Johnmen (2006-03-31 10:39:00) [3]Ну, наверное, такое буквоедство здесь неуместно...
"СССР первым в мире запустил исскусственный спутник Земли"
Мы же понимаем, что СССР не брал его в руки и не кидал в космос...
Сергей М. (2006-03-31 09:58:00) [4]
> Johnmen © (31.03.06 09:46) [2]
> Предотвращение запуска втрого экземпляра проги делается
> совсем не так.
> См. евенты(Event), симафоры(Semaphore) или мьютексы(Mutex)
Будем точнее - ни ивенты, ни семафоры, ни мьютексы не решат задачу именно предотвращения запуска.
Johnmen (2006-03-31 09:46:00) [5]Предотвращение запуска втрого экземпляра проги делается совсем не так.
См. евенты(Event), симафоры(Semaphore) или мьютексы(Mutex)
А то, что ты привел - ошмёток кода активизации первого экземпляра...
Сергей М. (2006-03-31 08:49:00) [6]
> Когда я в Делфи копилирую прогу
А разве ее, прогу твою, можно компилировать еще где-то, кроме как в Делфи ?
> она сразу же при открытии зарывается
Сделай так :
{$IFNDEF DEBUG}
..Здесь твой код ..
{$ENDIF}
На время отладкидобавь DEBUG в опции проекта "Conditional defunes"