Как-то так (не проверял):
bool MleaderController::setTextMessage(const AcDbObjectId &MLeaderId, const CString &textMessage)
{
AcDbObjectPointer<AcDbMLeader>pEnt(MLeaderId, AcDb::kForWrite);
if (pEnt.openStatus() != Acad::eOk) return false;
AcDbMText *pMtext = pEnt->mtext();
if (pMtext) {
pMtext->setContents(textMessage.GetString());
pEnt->setMText(pMtext);
delete pMtext;
}
return true;
}
Ага в описании функции mtext() нашел:
Gets a copy of mleader’s mtext content
Не подумал сразу что копия возвращается - думал просто указатель