明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1906|回复: 0

[ARX]在下面的程序的pDisp = IDoc.GetModelSpace()处,为什么编译通不过哦!

[复制链接]
发表于 2004-10-11 16:23:00 | 显示全部楼层 |阅读模式
#include "acad.h"
// This is command 'COMCIRCLE'
void testgroupcomcircle()
{
// TODO: Implement the command
try
{
//声明变量
IAcadApplication IApp;
IAcadDocuments IDoc;
IAcadModelSpace IMSpace; IDispatch *pDisp = acedGetAcadWinApp()->GetIDispatch(TRUE);
IApp.AttachDispatch(pDisp);
//取得活动的AutoCAD文档
pDisp = IApp.GetActiveDocument();
IDoc.AttachDispatch (pDisp);
//取得文档中的模型空间对象
pDisp = IDoc.GetModelSpace(); //此处编译不能通过 IMSpace.AttachDispatch (pDisp);
SAFEARRAYBOUND rgsaBound;
rgsaBound.lLbound = 0L; //表示数组从0开始计数
rgsaBound.cElements = 3; //共3个数组元素 long i;
SAFEARRAY* pStartPoint = NULL;
//建立一个SAFEARRAY,VT_R8表示double类型
pStartPoint = SafeArrayCreate(VT_R8,1,&rgsaBound);
//给数组的各元素赋值
i = 0;
double value = 4.0;
SafeArrayPutElement(pStartPoint,&i,&value);
i = 1;
value = 2.0;
SafeArrayPutElement(pStartPoint,&i,&value);
i = 2;
value = 0.0;
SafeArrayPutElement(pStartPoint,&i,&value);
//将pStartPoint存放到VARIANT pt1中
VARIANT pt1;
VariantInit(&pt1);
V_VT(&pt1) = VT_ARRAY|VT_R8;
V_ARRAY(&pt1) = pStartPoint;
IMSpace.AddCircle (pt1,2.0);
}
catch(COleDispatchException e)
{
e.ReportError();
e.Delete();
} }
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-26 11:56 , Processed in 0.151290 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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