Форум веб-мастеров  /  Статьи веб-мастера  /  WHOIS-сервис  /  Услуги веб-мастера  /  RSS 
Разделы сайта




Полезные ссылки

wm-help.net -> Электронная библиотека -> Delphi -> Вопросы и Ответы по Delphi -> Вопрос и Ответ 17

Вопрос и Ответ 17



Вопрос и Ответ 17

Вопросы и Ответы


      17. Как определить работает ли уже данное приложение или это первая его копия?

      Каждый экземпляр программы имеет ссылку на свою предыдущую копию - hPrevInst: hWnd (см. "Вопрос и Ответ 44"). Ее можно проверить перед созданием приложения и при необходимости отреагировать соответствующим образом.

      Если запущена только одна копия, то эта ссылка равна нулю.

      Пример:

      ............

      procedure TForm1.FormCreate(Sender: TObject);
      begin

        {Проверяем есть ли указатель на предыдущую копию приложения}
        IF hPrevInst <> 0 THEN BEGIN

          {Если есть, то выдаем сообщение и выходим}
          MessageDlg('Программа уже запущена!', mtError, [mbOk], 0);
          Halt;

        END;
        {Иначе - ничего не делаем (не мешаем созданию формы)}

      end;

      ............

      P.S. Для выхода необходимо использовать Halt, а не Close, как хотелось бы, так как форма еще не создана и закрывать нечего.


...предыдущая страница следующая...
оглавление



[ Вверх ]

Rambler's Top100

Другие наши проекты:
бодибилдинг | Строим Домик | RU-домены за 170 рублей |
"Вопрос и Ответ 17"
Copyright © "В помощь Веб-Мастеру" (Alexander D. Belyaev) 2005-2008.
При перепечатке любого материала видимая ссылка на источник "В помощь Веб-Мастеру" и все имена, ссылки авторов обязательны!
Время генерации страницы: 0.083