Тема: Компиляция без ошибок, но в АКАДЕ изображения нет

Здравствуйте, уважаемые программисты. Очень недавно начал учить ObjectARX. Купил книгу Н.Н.Полещука. Книга классная, но написана под АКАД2006. Я юзаю VC 2005, Object 2008 и АКАД 2008. С программной совместимостью проблем не возникает. Файл ARX создается и загружается в АКАД без ошибок и предупреждений, однако программа ничего не рисует
хотя должна. Ниже представлен фрагмент кода. Единственное что пришлось изменить это все строки переписать в виде _T("строка")) иначе ошибка (почему кстати?) в приведенном фрагменте этих исправлений нет.  Вопрос: почему ничего не рисуется?
// Н.Н.Полещук, Глава 05\Book08\acrxEntryPoint.cpp
// В книге "AutoCAD: разработка приложений, настройка и адаптация"
// (издательство "БХВ-Петербург", 2006)
//
// ----- ads_book08 symbol (do not rename)
static int ads_book08(void)
{
    // Признак ошибки (целое число)
    Acad::ErrorStatus es;
   
    // Подготовительная работа с таблицей блоков
    // Указатель на таблицу блоков (инициализируем нулем)
    AcDbBlockTable* pBlockTbl = NULL;
    // Открываем БД текущего рисунка и получаем указатель на таблицу блоков
    if ((es =
        acdbHostApplicationServices()->workingDatabase()->getBlockTable
        (pBlockTbl, AcDb::kForRead)) != Acad::eOk )
        {
            acutPrintf ("\nНе открыть таблицу блоков! ") ;
            return (RSRSLT);
        }
    // Указатель на запись таблицы блоков
    AcDbBlockTableRecord *pMS = NULL;
    // Получаем указатель на пространство модели как блок ACDB_MODEL_SPACE
    //и открываем его для записи
    pBlockTbl->getAt(ACDB_MODEL_SPACE, pMS, AcDb::kForWrite);
    if (pMS == NULL)
    {
        acutPrintf ("\nНет доступа к блоку *Model_Space. ") ;
        return (RSRSLT);
    }
    // Построение отрезка
    //====================
    AcGePoint3d startPt(32,112.5,0); // 1-я точка в МСК
    AcGePoint3d endPt(161.2,140.8,0); // 2-я точка в МСК
    // Создание нового объекта класса AcDbLine
    // с динамическим выделением для него памяти
    AcDbLine* pLine = new AcDbLine(startPt,endPt);
    // Можно изменить слой построенного отрезка (если слой существует)
//    pLine->setLayer ("LayerForLines");
    // Добавление к БД рисунка отрезка
    if ((es = pMS->appendAcDbEntity(pLine)) != Acad::eOk)
    {
        acutPrintf ("\nОшибка добавления к БД отрезка. ") ;
        return (RSRSLT);
    };
    // Закрытие доступа к объекту
    pLine->close();
    // Построение сплайна
    //====================
    // Массив трехмерных точек
    AcGePoint3d pts[4]={AcGePoint3d(15.0,12.0,0.0),
        AcGePoint3d(38.9,8.8,0.0), AcGePoint3d(79.3,9.0,0.0),
        AcGePoint3d(145.0,19.3,0.0)};
    AcGePoint3dArray points;
    // Заполнение массива точек
    for(int i=0; i<4; i++) points.append(pts[i]);
    // Создание нового объекта класса AcDbSpline
    // с динамическим выделением для него памяти
    AcDbSpline* pSpline = new AcDbSpline(points);
    // Добавление к рисунку сплайна
    if ((es = pMS->appendAcDbEntity(pSpline)) != Acad::eOk)
    {
        acutPrintf ("\nОшибка добавления к БД сплайна. ") ;
        return (RSRSLT);
    };
    pSpline->close();
    // Построение окружности
    //=======================
    // Создание объекта - трехмерной точки
    AcGePoint3d center(44, 99.9, 0);
    // AcGeVector3d::kZAxis - стандартный вектор нормали (0, 0, 1)
    // Создание окружности по точке центра, вектору нормали и радиусу
    AcDbCircle* pCircle = new AcDbCircle(center, AcGeVector3d::kZAxis, 50.0);
    // Добавление к БД рисунка окружности
    if ((es = pMS->appendAcDbEntity(pCircle)) != Acad::eOk)
    {
        acutPrintf ("\nОшибка добавления к БД окружности. ") ;
        return (RSRSLT);
    };
    pCircle->close();
// Закрытие блока *Model_Space
    pMS->close();
// Закрытие таблицы блоков
    pBlockTbl->close();
    // TODO: Replace the following line by your returned value if any
    acedRetVoid () ;
    return (RSRSLT) ;
}
} ;
//-----------------------------------------------------------------------------
IMPLEMENT_ARX_ENTRYPOINT(CBook08App)
ACED_ADSSYMBOL_ENTRY_AUTO(CBook08App, book08, true)

Re: Компиляция без ошибок, но в АКАДЕ изображения нет

Ну давай по-порядку.

Единственное что пришлось изменить это все строки переписать в виде _T("строка")) иначе ошибка (почему кстати?)

VS2005 и акад 2007/2008 работает на юникоде, соответственно нужно писать либо с макросом, либо

L"текстовая строка"

Вопрос: почему ничего не рисуется?

Скорей всего глюк акада. попробуй в конце функции вставить

acedCommand(RTSTR, _T("_regenall"), 0);

У последних акадов явно проблемы с перерисовкой. Уж слишком круто они переехали на другую студию :) У меня тоже бывают проблемы с отображением.

Re: Компиляция без ошибок, но в АКАДЕ изображения нет

Спасибо, большое. Явно был глюк. Сегодня запустил прогу, все перерисовалось без вставки acedCommand(RTSTR, _T("_regenall"), 0); Спасибо за исчерпывающие ответы.

Re: Компиляция без ошибок, но в АКАДЕ изображения нет

> Евгений
Я тоже проверил, все работает. Помимо макроса _T надо в конце списка include'ов добавить #include "tchar.h"