Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2008, 15:54   #1
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию constructor, destructor override. Подправить код.

Нашел статью в DWorld о том как блокировать запуск второго экземпляра приложения. Скопировал код к себе в приложение. Плюс дописал в раздел public две строчки, в исходнике указал эти строчки комментариями. Но вот проблема - теперь приложение не запускается вообще! Не то что второй экземпляр, но даже первый неи хочет работать!!! Думаю проблема в правильном использовании override. Выкладываю в архиве исходник. Подскажите, где я ляп допустил
Вложения
Тип файла: rar na forum 2-oy ekz.rar (5.4 Кб, 13 просмотров)
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.07.2008, 17:01   #2
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Если не ошибаюсь, то в архиве пустой проект.
Вот как это делал я:
Код:
program Project1;
uses
  Forms,
  windows,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

var
  HM: THandle;

function Check: boolean;
begin
  HM := OpenMutex(MUTEX_ALL_ACCESS, false, 'Название_твоей_программы');
  Result := (HM <> 0);
  if HM = 0 then
    HM := CreateMutex(nil, false, 'Название_твоей_программы');
end;

begin
  if Check then
  begin
    messagebox(application.Handle, 'Один экземпляр программы уже запущен!', 'Ошибочка', MB_OK);
    Exit;
  end;
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Последний раз редактировалось NikLik; 30.07.2008 в 19:20.
NikLik вне форума Ответить с цитированием
Старый 30.07.2008, 19:22   #3
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 NikLik да, не ошибаешься, напутал я
вот выкладываю исходник. Все равно интересно, что я не так делаю в своем исходнике. Твое решение сейас испытаю Спасибо
Вложения
Тип файла: rar 2-oy ekz.rar (6.1 Кб, 15 просмотров)
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.07.2008, 19:31   #4
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

странно, но уже работает....
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.07.2008, 19:32   #5
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Хм,странно, у меня всё нормально работает.
Во всяком случае, с имеющимся кодом.

=================================== =========
)))
NikLik вне форума Ответить с цитированием
Старый 30.07.2008, 19:35   #6
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 NikLik - а что дешевле использовать - твое или мое?
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 30.07.2008, 19:45   #7
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

)Незнаю, но mutex'ы уничтожаются сами, а за атомами надо следить...)
NikLik вне форума Ответить с цитированием
Старый 30.07.2008, 20:00   #8
NikLik
Форумчанин
 
Аватар для NikLik
 
Регистрация: 22.11.2007
Сообщений: 224
По умолчанию

Вот, этот вариант мне нравится больше всех предыдущих
Вложения
Тип файла: rar new.rar (2.8 Кб, 14 просмотров)
NikLik вне форума Ответить с цитированием
Старый 30.07.2008, 21:30   #9
Roof
Форумчанин
 
Аватар для Roof
 
Регистрация: 01.02.2007
Сообщений: 785
По умолчанию

2 NikLik Спасибо тебе буду изучать
Изо всей благодати
В руках крепко сжатых
Я донесу только капли
Roof вне форума Ответить с цитированием
Старый 31.07.2008, 13:41   #10
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Roof, советую почитать, по мьютексам полный расклад на две страницы плюс ссылка на статью
http://www.programmersforum.ru/showthread.php?t=21930
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите пожалуйста исправить подправить процедуру (строки) Rumus Помощь студентам 5 02.07.2008 16:50