- UID
- 9914
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2002-9-13
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
我编了一个很简单的,浏览一条PLINE线的所有端点的程序
#include "StdAfx.h"
#include "StdArx.h"
#include "stdio.h"
//-----------------------------------------------------------------------------
// This is command 'XXL, by [三月/24/2003], ,
void fangchanxxlxxl()
{
#ifdef OARXWIZDEBUG
acutPrintf ("\nOARXWIZDEBUG - fangchanxxlxxl() called.");
#endif // OARXWIZDEBUG
// TODO: Implement the command
ads_name en1;
ads_point pt1;
if (ads_entsel("\n选择对象线:",en1,pt1)!=RTNORM)
{
ads_printf("Nothing selected.\n");
return;
}
AcDbObjectId plineId1;
acdbGetObjectId(plineId1,en1);
FILE *fp;
if ((fp=fopen("c:\\point.txt","w+"))==NULL)
{
ads_printf("cannot open txt-file");
return;
}
AcDb2dPolyline *pPline;
acdbOpenObject(pPline,plineId1,AcDb::kForRead);
ads_printf("1");
AcDbObjectIterator *pVertIter = pPline->vertexIterator();
ads_printf("2");
pPline->close();
AcDb2dVertex *pVertex;
AcGePoint3d pt;
AcDbObjectId vertexObjId;
for (int Number = 0; !pVertIter->done(); Number++, pVertIter->step())
{
vertexObjId = pVertIter->objectId();
acdbOpenObject(pVertex,vertexObjId,AcDb::kForRead);
pt = pVertex->position();
pVertex->close();
fprintf(fp,"\n%d,%0.3f,%0.3f,%0.3f",Number,pt[X],pt[Y],pt[Z]);
}
delete pVertIter;
}
VC编译通过,但在CAD2000下出错
1、屏幕只显示1,没有显示出2,是否可以认为AcDbObjectIterator *pVertIter = pPline->vertexIterator(); 这句话出错?
2、ARX程序应当是怎么调试的呀?
3、出错的提示为Unhandled Exception C0000005 (Access Violation Reading 0xffffffff) at address 671FC490h ,请问我错在哪里?
请各位大虾指教 |
|