Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Второй экземпляр проги! [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"


Наверх

Титульная страница Поиск, карта сайта Написать письмо