小安康 发表于 2006-8-11 14:06:00

[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

Keith511 发表于 2006-8-11 16:03:00

pBlockTable=>getAt (ACDB_MODEL_SPACE.pBlockTableRcord,ACDb::kForRead);

这里应该是kforwrite才可以新加入你画的实体

小安康 发表于 2006-8-11 16:12:00

0!原来是这样,好几个人都是这样说的,原来书上说错了

小安康 发表于 2006-8-11 16:17:00

我改正了,可是还是能编译出来,应该还有误

小安康 发表于 2006-8-11 16:22:00

VC6 好象只提示有错误,不像TC一样还提示你的哪一行有错误?

sieben 发表于 2006-8-12 19:12:00

pBlockTable->clock();

pBlockTable->close();

pglyxq 发表于 2006-8-12 23:37:00

真是麻烦大家了!没想到第一次写程序居然有这么多的错误!各位见笑了!
在失败中进步!哈哈

小安康 发表于 2006-8-13 18:39:00

VC怎么可能只提示有错误呢?
页: [1]
查看完整版本: [ARX][求助]一段简单的源代码,不知道那里错了,请大家帮我看看。