Здравствуйте, Dis, Вы писали:
Dis>Я создаю каталоги классов в среде разработки Visual C++60.
Dis>Размещаю свои классы по группам, но если какой-либо из
Dis>этих классов исправить, то он выпадает из своей папки
Dis>и оказывается в каталоге верхнего уровня.
Dis>Никто не знает отчего это происходит?
Я скорей сталкивался с тем, что в одночасье все папки пропадали, а классы снова оказывались "в линеечку". Я зарекся пользоваться такой возможностью.
Отчего происходит — не знаю, но есть подозрение, которое проверить не очень сложно. Подозрение, что эта информация (распределение по папочкам), вместе с прочей информацией ClassWizard'a хранится в файле clw. Сам ClassWizard работает с этим файлом ниже всякой критики (неудивительно, если при внесении модификаций он для простоты стирает старый блок и генерирует новый — там где ему удобно

) . Кроме прочего, этот файл отличается тем, что нередко "накрывается".
Я создаю каталоги классов в среде разработки Visual C++60.
Размещаю свои классы по группам, но если какой-либо из
этих классов исправить, то он выпадает из своей папки
и оказывается в каталоге верхнего уровня.
Никто не знает отчего это происходит?
Вы писали:
...эта информация (распределение по папочкам), вместе с прочей информацией ClassWizard'a хранится в файле clw
Скорее в файле *.opt, там же хранится инфа о том какие проекты в workspace выгружены (unloaded)
Здравствуйте, <Аноним>, Вы писали:
А>Скорее в файле *.opt, там же хранится инфа о том какие проекты в workspace выгружены (unloaded)
вообще-то информация о файлах и каталогах проекта находится в файле *.dsp
WBR, Dmitry
Где то видел AddIn для Visual Studio 6.0 которая это дело поправляет.
По моемоу на codeproject.com
George.
Здравствуйте, Dis, Вы писали:
Dis>Я создаю каталоги классов в среде разработки Visual C++60.
Dis>Размещаю свои классы по группам, но если какой-либо из
Dis>этих классов исправить, то он выпадает из своей папки
Dis>и оказывается в каталоге верхнего уровня.
Dis>Никто не знает отчего это происходит?
За папки в ClassView отвечает файл .opt
Из своей папки класс стабильно выпадает, если исправлять что-нибуль до его объявления в .h файле ( например, #define какой-нибудь написать ). Что, в общем, неудивительно, т.к. в момент исправления перестает быть корректным объявление класса
получается конструкция вроде
#defi //набираемая строчка
class MyClass
{
//и т.д.
Может пропадать и по другим причинам...
ClassWizard хранит информацию о классах, ресурсах и т.п. в файле .clw
Накрывается, в основном, из-за переносов проектов между машинами или из папки в папку на одной машине. Сам .clw устроен наподобие ini. Можно попробовать править его ручками. Особенно это полезно для классов, файлы которых лежат не в каталоге проекта, а, например, выше. Можно писать относительные пути, но обязательно их начитнать с .\, иначе эта зараза переписывает их при первом же обращении к Визарду.
Как уже говорили, эти механизмы весьма нестабильны. Впрочем, можно от них и отказаться совсем (по крайней мере от КлассВизарда).
Лично я давно уже в каждом проекте завел папку, в которой храню эту парочку (в смысле, opt и clw) и переписываю их оттуда, если что случается.
Уф, вроде все, что знал, рассказал
Тяжела и неказиста жизнь простого...
программиста
Здравствуйте, Dmitry V. Romanovich, Вы писали:
DVR>Здравствуйте, <Аноним>, Вы писали:
А>>Скорее в файле *.opt, там же хранится инфа о том какие проекты в workspace выгружены (unloaded)
DVR>вообще-то информация о файлах и каталогах проекта находится в файле *.dsp
Вообще-то, речь не о файлах проекта, а о классах (закладка ClassView в MSVC IDE).
MS VC++ формально позволяет классы раскладывать по папочкам, но что при этом бывает читатйте в этой ветке.