Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отключить работу с реестром в SDI приложении, отключение работы с реестром 
:(
    Опции темы
Albor
Дата 25.9.2010, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



При создании SDI-приложения, после первого запуска, в реестр пишется куча информации о данном приложении. Всё бы ничего, если бы это не мешало отладке программы. Например, я изменил текст одного из пунктов меню, или внёс изменения в Toolbar, запускаю приложение, а изменений не видно. Я удаляю из реестра создаваемую приложением ветвь и снова запускаю - изменения видны. Можно ли отключить работу с реестром в SDI приложении? Если просто закоментировать вызов SetRegistryKey() в InitInstance(), то приложение падает при запуске. 
PM MAIL ICQ   Вверх
Earnest
Дата 27.9.2010, 06:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Тулбары записывают информацию в реестр, а вот насчет меню что-то не припомню. Вариантов 2: функция, записывающая изменения в реестр, называется что-то вроде SaveDockState, найди ее, проследи откуда вызывается (и LoadDockState, аналогично) и пресеки.
Второй вариант - посмотреть где падает, и соответственно подкрутить. Но первый вариант лучше, т.к. совсем отказываться от реестра неудобно. Тулбары фиг с ними, но есть и другая информация.


--------------------
...
PM   Вверх
Albor
Дата 27.9.2010, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 589
Регистрация: 28.2.2009

Репутация: 7
Всего: 9



Цитата(Earnest @  27.9.2010,  06:57 Найти цитируемый пост)
Второй вариант - посмотреть где падает, и соответственно подкрутить. Но первый вариант лучше, т.к. совсем отказываться от реестра неудобно. Тулбары фиг с ними, но есть и другая информация. 

Это я просмотрел - это в "дебрях MFC" проверяется на NULL указатель на путь к ключу реестра. Поэтому в голову пришла идея просто по завершении программы удалять ветку реестра и следующий запуск будет как в первый раз smile
PM MAIL ICQ   Вверх
Earnest
Дата 27.9.2010, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

Репутация: 87
Всего: 183



Цитата(Albor @  27.9.2010,  13:22 Найти цитируемый пост)
Это я просмотрел - это в "дебрях MFC" проверяется на NULL указатель на путь к ключу реестра. 

Это понятно. Нужно посмотреть, откуда вызов. И соответственно подкрутить в своем классе - возможно, это будет фрейм, а может тулбар придется переопределить. Например у меня тулбары не пишутся в реестр, т.е пишутся, но не стандартно, так что изменить это дело точно можно. Но быстро посмотреть не могу, т.к. код там довольно навороченный, а времени сейчас нет. 


--------------------
...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0656 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.