Есть ATL проект. В нем 2 объекта. Все работало нормально.
Сейчас нужно добавить еще один ATL объект, а Wizard на это выдает сообщение:
"Currently ATL objects may only be added to ATL projects, or certain types of MFC projects (EXE, CONTROL, Regular DLL)"
По какому признаку он это определяет, макрос я что ли какой его любимый махнула? Сравнения с проектом, в который все нормально добавляется ни к чему не привели. ;-( На первый взгляд они очень похожи...
Таня
Re: ATL Wizard не хочет добавлять еще одни ATL объект
Здравствуйте Tanya, Вы писали:
T>Есть ATL проект. В нем 2 объекта. Все работало нормально. T>Сейчас нужно добавить еще один ATL объект, а Wizard на это выдает сообщение: T>"Currently ATL objects may only be added to ATL projects, or certain types of MFC projects (EXE, CONTROL, Regular DLL)" T>По какому признаку он это определяет, макрос я что ли какой его любимый махнула? Сравнения с проектом, в который все нормально добавляется ни к чему не привели. ;-( На первый взгляд они очень похожи...
Если проект под сорс-контролем или часть его файлов помечена как тлько для чтения, надо чикаутнуть все файлв (обычно достаточно ресурсов, но...) или снять r/o.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[2]: ATL Wizard не хочет добавлять еще одни ATL объект
Здравствуйте VladD2, Вы писали:
VD>Здравствуйте Tanya, Вы писали:
T>>Есть ATL проект. В нем 2 объекта. Все работало нормально. T>>Сейчас нужно добавить еще один ATL объект, а Wizard на это выдает сообщение: T>>"Currently ATL objects may only be added to ATL projects, or certain types of MFC projects (EXE, CONTROL, Regular DLL)" T>>По какому признаку он это определяет, макрос я что ли какой его любимый махнула? Сравнения с проектом, в который все нормально добавляется ни к чему не привели. ;-( На первый взгляд они очень похожи...
VD>Если проект под сорс-контролем или часть его файлов помечена как тлько для чтения, надо чикаутнуть все файлв (обычно достаточно ресурсов, но...) или снять r/o.
И еще бывает что у ATL Wizard'а крышу срывает, если код был модифицирован руками. Иногда помогает такая манипуляция:
— закрыть проект
— удалить временные файлы [имя проект].ncb и [имя проекта].opt
— открыть проект обратно
— попробовать еще раз добавить ATL-класс
Eсли это не помогает, то тут надо учиться довалять классы вручную. Самое проестое, это
— создать временный ATL проект
— cгенерировать в нем ATL-класс
— перенести из временного проекта в основной проект [класс].cpp и [класс].h
— необходимые части из .idl файла
— перенести [.rgs файл, в основной проект, и добавить его в ресуры
— добавить новый класс в OBJECT_MAP (BEGIN_OBJECT_MAP — END_OBJECT_MAP)
Если не заработает, значит я что-то еще забыл :)
-Zork
Думать надо ...головой :)
Re[3]: ATL Wizard не хочет добавлять еще одни ATL объект
ZORK>И еще бывает что у ATL Wizard'а крышу срывает, если код был модифицирован руками. Иногда помогает такая манипуляция: ZORK>- закрыть проект ZORK>- удалить временные файлы [имя проект].ncb и [имя проекта].opt ZORK>- открыть проект обратно ZORK>- попробовать еще раз добавить ATL-класс
Спасибо. Удаление временных файлов помогло. Только они имели вид [группа проектов].ncb,[группа проектов].opt. Еле нашла... ;-))