Проблема открытия окна с базовым классом CPropertySheetImpl
От: anhr  
Дата: 12.11.03 05:12
Оценка:
Привет,

Сколько лет живу, такого не встречал. Представьте ситуацию. Операционная система Windows ME. Из оболочки VC++ 6.0 запускаю свой проект, в котором открываю окно с базовым классом CPropertySheetImpl. Ну это похоже на диалог, только там несколько закладок. В первый раз все хорошо. Но если закрыть приложение и снова запустить а потом опять открыть окно с базовым классом CPropertySheetImpl, то происходит исключение. В нем любезно сообщается, что при вызове функции неправильно расположен порядок аргументов. Помогает только перезагрузка системы.

Теперь детали:
1. Это происходит в Windows ME. В Windows XP все хорошо. Пожалуйста не присылайте советы типа: выкинь ME, используй XP.
2. Это происходит только если запустить приложение из оболочки VC++ 6.0. Причем что интересно, если сначала запустить приложение из командной строки или из Windows Explorer, то в дальнейшем все идет хорошо. Также просьба не присылать советы типа: не запускай из оболочки VC++ 6.0.

Ума не приложу с какого конца браться за эту проблему. Похоже после закрытия приложения в памяти остаются какие то следы.

Кто нибудь сталкивался с этой проблемой?

Для эксперимента можно взять проект BmpView, который идет вместе с WTL. Там после открытия картинки можно посмотреть ее свойстава (View/Properties). Вы получите такуюже петрушку: из оболочки VC++ 6.0 можно открыть приложение и посмотреть свойства только один раз.

Ну и для примера можно посмотреть мой проект
http://www.rsdn.ru:80/File/23676/Properties.zip
выберите Help/Properties или Help/Properties 2

Спасибо Андрей
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.