Тема: Переопределение метода "copyFrom"

Возник такой гемор.
Есть MyEntity : AcDbEntity - т.е. напрямую унаследована от AcDbEntity.
Делаю transformBy, moveGripPoints.
1) Когда таскаю объект (Move, Grip) - то он корректно отрисовывается (сам, и то что таскается).
2) Переопределяю метод copyFrom(pCopy) чтоб заполнял pCopy всемиданными из this. (Метод родителя AcDbEntity::copyFrom - звать нельзя - летит эксепшен) т.е. копирую только "свои" данные.
3) Опять таскаю объект. Хрен то там! Сам объет отрисовывается, а его временное изображение dragginga пустое - хотя worldDraw временного объекта зовется с правильными параметрами и вроде как рисует нужные приметивы в нужном месте (НО ИХ НЕ ВИДНО).
4) Коментарю copyFrom - все живет и здравствует.
Какие еще ритуальные пляски надо сделать чтоб эта темпоральная картинка таки рисовалась?
С Уважением, Константин.

Re: Переопределение метода "copyFrom"

Перепутал когда писал сообщение - copyFrom(pCopyFrom) - this заполняю из pCopyFrom. Т.е. не надо говорить что ошибка в этом. Т.к. worldDraw у меня вызывается с правильными позициями, размерами и т.п.

Re: Переопределение метода "copyFrom"


Метод родителя AcDbEntity::copyFrom - звать нельзя - летит эксепшен

Очень странно. У меня не летит:

// -----------------------------------------------------------------------------
Acad::ErrorStatus DoubleCircleClass::copyFrom(const AcRxObject * other)
{
  Acad::ErrorStatus retCode = AcDbEntity::copyFrom (other) ;
  DoubleCircleClass *pOther = DoubleCircleClass::cast(other);
  if (pOther) {
    this->r1      = pOther->r1;
    this->r2      = pOther->r2;
    this->normal  = pOther->normal;
  }
  acutPrintf("\ncopyFrom");
  return (retCode) ;
}

Когда копирую свой примитив - постоянное сообщение copyFrom и все работает...

Re: Переопределение метода "copyFrom"

> KonstantinM
Так уже все в порядке, или я чего-то не понял?

Re: Переопределение метода "copyFrom"

Спасибо, уже все в порядке... Утро вечера мудренее...
Сделал RebuildAll и все прошло... exception при вызове AcDbEntity::copyFrom - исчез...
Компайлер/линкер от долгой работы простым build-ом - че-то где-то потерял и линковал всякую лажу...
Спасибо за пример.

Re: Переопределение метода "copyFrom"

> KonstantinM
smile Я всегда делаю RebuildAll (точнее Batch Build). Кроме того отключаю с C++ Precompiled Headers и в Linker - Incremental Linking. Что-то Microsoft с ними перемудрил. Очень часто в результате получается нестабильный код, а иногда вообщее не компилируется.