明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2086|回复: 2

求助:请问AcArray可以组织一系列AcDbLine对象吗?

[复制链接]
发表于 2004-2-9 09:00:00 | 显示全部楼层 |阅读模式
如题(vc7.0开发AutoCAD2004) 我想组织一系列AcDbLine对象 当使用vector模板类时总是出现如下错误: d:\Program Files\Microsoft Visual Studio .NET\Vc7\include\xmemory(42): error C2661: “AcHeapOperators::operator new” : 没有重载函数接受 2 个参数 不知道为什么。 当我使用AcArray时候,因为找不到相关的例子,不懂得如何初始化AcArray AcArray<AcDbLine> *lineArray;
AcGePoint3d point1(1,2,0);
AcGePoint3d point2(2,3,0);
AcDbLine *pLine=new AcDbLine(point1,point2);
lineArray->append(*pLine); 此时会有lineArray未初始化的警告,编译后运行时有如下错误: 无法找到动态链接库ACAD.EXE于指定的路径.................. 恳请诸位指点。最好能提供使用AcArray的例子(我还没找到)。
发表于 2004-2-11 17:18:00 | 显示全部楼层
我在用vc6编Acad2000程序时,较少用AcArray(ARX自带的类),用MFC类库的CObjectArray类,里面可存储CObject类对象的指针。


第一句改为AcArray&lt;AcDbLine&gt; *lineArray=new(AcArray&lt;AcDbLine&gt;);


可能会有用
发表于 2004-2-11 17:43:00 | 显示全部楼层
不知能否这样: AcArray lineArray; AcGePoint3d point1(1,2,0);
AcGePoint3d point2(2,3,0);
AcDbLine *pLine=new AcDbLine(point1,point2);
lineArray.append((void*)pLine); 或干脆: class AcDbLineArray : public AcGeVoidPointerArray { public: const AcDbLine* at(const int index) const; BOOL append(AcDbEntity* line); }; const AcDbLine* ::at(const int index) const { return (const AcDbLine* )AcGeVoidPointerArray::at(index);} BOOL ::append(AcDbEntity* line) { if(line==NULL) {return FALSE;} if(cast(line)!=AcDbLine::) // { return FALSE;} }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 01:27 , Processed in 0.167680 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表