Главная страница
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.06 c
2-1150833840
Glivera
2006-06-21 00:04
2006.07.09
Сохранение Excel документа


15-1149760910
Kolan
2006-06-08 14:01
2006.07.09
Каналы для обнаружения аккустического сигнала.


2-1151034070
MasterDelphi
2006-06-23 07:41
2006.07.09
MySql


1-1148911803
.ruslan
2006-05-29 18:10
2006.07.09
...поверх всех приложений


8-1138702235
MatrixSh!t
2006-01-31 13:10
2006.07.09
OpenGL