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:23:00) 

Ребят подскажите!
Я вот использую такой код для предотвращения запуска втрого экземпляра моей проги:
{firstcopy:=findwindow('Tform1','Admin');
 if firstcopy <>0 then
 begin
      SetForegroundWindow(FirstCopy);
      Application.terminate;
 end;}
И все нормально работает, если бы не одно маленькое НО! Когда я в Делфи копилирую прогу то она сразу же при открытии зарывается! Я понимаю что это так и должно быть, но все же не удобно каждый раз лазит в *.dpr и брать этот код в кавычки! Может подскажите что можна сделать в данном случае?


Германн   (2006-03-31 01:21:00) [1]


> А вообще на эту тему уже была долгая дискуссия где то недавно
> на этом форуме.

Что значит была? Она и сейчас "живее всех живых" в Основной"
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1142855469&n=0


Rial   (2006-03-31 00:33:00) [2]

Странно, что работает.
Тебе нужно запускать приложение с одним именем, а после данной проверки менять на другое, основное. И искать нужно именно его.


Const AppCap='Admin';

//Caption:='TestCap'; - это установлено в свойствах формы.

If (FindWindow('TForm1',AppCap)<>0)then begin
SetForegroundWindow(FirstCopy);
Application.terminate;
end;
Caption:=AppCap;



А вообще на эту тему уже была долгая дискуссия где то недавно на этом форуме.


Наверх

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