![]() |
|
|
![]()
|
|
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Всем доброго времени суток! Как вы уже все знаете я делаю свою программку
Так вот ребят. В С++ Ворлд я нашел как через Мютекс сделать как бы разришение на 1 запуск программы. Тоисть ... ну вы поняли =) чтобы одновременно была загружена только одна программа. Но тут возникло как всегда несколько вопросов ибо я чайник )))))) " В начале программы (ИМХО, лучше всего до "Application->Initialize();") пишем: hMutex = CreateMutex(NULL,true,"some_big_big_unique_mutex_name"); if (GetLastError()==ERROR_ALREADY_EXISTS) { // мы уже есть - ругаемся и выходим ShowMessage("proga already loaded"); Application->Terminate(); } В конце пишем: ReleaseMutex(hMutex); // это обязательно, а то до перезагрузки прога второй раз не запустится " Где находится Application->Initialize() ? Я его видел в самом главном файле. Но оно ругается когда я добавляю сразу после него... ругается на hMutex говорит что он не известный... И ещё вопросик "ReleaseMutex(hMutex); // это обязательно, а то до перезагрузки прога второй раз не запустится" Это добавлять в Form1->OnDestroy();?? Заранее очень благодарен! |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Давайте параллельно русский язык немного еще подучим, хорошо? (без обид). Опечатки не в счет. правильно разрешение правильно то есть Я не занудствую и иногда тоже ошибаюсь, но такие режущие глаз ошибки, старайтесь искоренять. Теперь о деле: А вы объявляли переменную hMutex ? Наверное нет - вот он и ругается.
На счет запустится или нет не проверял, но все равно обязательно. Приучайтесь убирать за собой. Вполне подходит, но тогда для симметричности и создание мютекса ставьте в OnFormCreate - чтобы было в одном модуле. |
|||
|
||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Да я только за чтобы писать грамотно! Просто я учился в Украинской школе... и Русским языком владею только с помощью Мозилы =) . Всегда стараюсь писать грамотно =) и всячески рад когда меня критикуют ;) А теперь как вы сказали - по-делу =) Так вот собственно.... да я не объявлял ... я даже просто не знаю как это объявить ... какой это тип тоже не знаю... Заранее большое спасибо! |
|||
|
||||
| Anikmar |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Посмотрите в хелпе что возвращает функция CreateMutex. (Просто билдера под рукой сейчас нет) и объявите переменную этого типа.
CreateMutex наверное что-то типа HANDLE возвращает, следовательно объявлять перременную hMutex надо именно этого типа. Следите за областью видимости. Эта переменная должна быть доступна как из метода, в котором мютекс создается, так и из метода, в котором он уничтожается. Следовательно данная переменная должна быть либо членом класса формы либо глобальной для модуля. |
||||
|
|||||
| Kirgston |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 792 Регистрация: 24.12.2007 Репутация: 2 Всего: 2 |
Спасибо вам большое!!!
|
|||
|
||||
| Dem_max |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1780 Регистрация: 12.4.2007 Репутация: 14 Всего: 39 |
Anikmar,
А где ты кстати у человека ошибки в русском языке нашел ? -------------------- Американские программисты долго не могли понять, почему русские при зависании Windоws всё время повторяют "Твой зайка написал" ("Yоur bunnу wrоte") |
|||
|
||||
| SVN74 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 5.5.2008 Где: Комсомольск на Дн епре Репутация: 11 Всего: 18 |
Вот готовый пример:
==========================
Это сообщение отредактировал(а) SVN74 - 21.2.2009, 16:11 |
|||
|
||||
| Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |