[ARX][求助]一段简单的源代码,不知道那里错了,请大家帮我看看。
今天写的画直线的程序#include
#include
void initApp();
void unloadApp();
AcDbObjectId CreateLine();
void initApp()
{
// 注册一个命令
acedRegCmds->addCommand("CREATELINE_COMMANDS",
"cline",
"line",
ACRX_CMD_TRANSPARENT,
CreateLine);
}
void unloadApp()
{
acedRegCmds->removeGroup("HELLOWORLD_COMMANDS");
}
AcDbObjectId CreateLine()
{
AcGetpoint3d startPt(4.0, 2.0, 3.3);
AcGetpoint3d endPt(1000.0, 1000.0, 2000.0);
AcDbline *pLine=new AcDbline (startPt, endPt);
AcDbBlockTable *pBlockTable
acdbHoestApplicationServices()->workingDatabase()
->getSymboiTable (pBlockTable, Acdb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable=>getAt (ACDB_MODEL_SPACE.pBlockTableRcord,ACDb::kForRead);
pBlockTable->clock();
AcDbObjectId LineId;
pBlockTableRecord->AppendAcDbEntry (LineId, pLine);
pBlockTableRecord->close();
pLine->close();
Return lineId;
}
extern "C" AcRx::AppRetCode
acrxEntryPoint(AcRx::AppMsgCode msg, void* pkt)
{
switch (msg)
{
case AcRx::kInitAppMsg:
acrxDynamicLinker->unlockApplication(pkt);
acrxRegisterAppMDIAware(pkt);
initApp();
break;
case AcRx::kUnloadAppMsg:
unloadApp();
break;
default:
break;
}
return AcRx::kRetOK;
}
补充一下DEF文件如下
LIBRARY "Project"
EXPORTS
acrxEntryPoint PRIVATE
acrxGetApiVersion PRIVATE pBlockTable=>getAt (ACDB_MODEL_SPACE.pBlockTableRcord,ACDb::kForRead);
这里应该是kforwrite才可以新加入你画的实体
0!原来是这样,好几个人都是这样说的,原来书上说错了
我改正了,可是还是能编译出来,应该还有误 VC6 好象只提示有错误,不像TC一样还提示你的哪一行有错误? pBlockTable->clock();
pBlockTable->close();
真是麻烦大家了!没想到第一次写程序居然有这么多的错误!各位见笑了!
在失败中进步!哈哈
VC怎么可能只提示有错误呢?
页:
[1]