|
最近写了一个arx 的com接口,一共两个函数,一个是想cad命令行输出123,另一个是绘制直线,但第一个可以实现,第二个因为涉及到数据库老是崩溃,不知道为什么?还请高人指点。
第一个函数:STDMETHODIMP CmyCustomCom::Promt(DOUBLE* XX){
// TODO: 在此添加实现代码
acutPrintf("123\n");
return S_OK;
}
可以成功运行
第二个函数
STDMETHODIMP CmyCustomCom::AddLine(DOUBLE* XX)
{
// TODO: 在此添加实现代码
AcGePoint3d ptStart(0, 0, 0);
AcGePoint3d ptEnd(100, 100, 0);
AcDbLine *pLine = new AcDbLine(ptStart, ptEnd);
AcDbBlockTable *pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,AcDb::kForWrite);
AcDbObjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTable->close();
pBlockTableRecord->close();
pLine->close();
return S_OK;
}
运行结果崩溃
eifluya4xqe.jpg
为什么呀?
|
|