乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 102|回复: 6

[ARX]求助,请高手指点!!!

[复制链接]

11

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2005-3-16 10:13:00 | 显示全部楼层 |阅读模式
我的程序在VC中编译没错,但运行到输入标号,按回车后就出现异常,但CAD不会退出!请高手指点一二!!!我的程序如下:
void ACADbiaohao()
{
#ifdef OARXWIZDEBUG
        acutPrintf ("\nOARXWIZDEBUG - ACADbiaohao() called.");
#endif // OARXWIZDEBUG
        // TODO: Implement the command
        AcGePoint3d sp,ep,dp,textp;
        AcGeVector3d normal(0,0,1);
        char cha[3];
                if(acedGetPoint(NULL,"\n请选择所标对象:",asDblArray(sp))!=RTNORM)
                return;
        if(acedGetPoint(asDblArray(sp),"\n请选定标号位置:",asDblArray(dp))!=RTNORM)
                return;
        if(acedGetString(Adesk::kTrue,"\n请输入标号:",cha)!=RTNORM)
                return;
        if(dp[X]>sp[X])
        {
                ep[X]=dp[X]+10;
                ep[Y]=dp[Y];
                ep[Z]=0;
                textp[X]=dp[X]+3;
                textp[Y]=dp[Y]+1;
                textp[Z]=0;
        }
        else
        {
                ep[X]=dp[X]-10;
                ep[Y]=dp[Y];
                ep[Z]=0;
                textp[X]=dp[X]-7;
                textp[Y]=dp[Y]+1;
                textp[Z]=0;
        }
        AcDbBlockTable *pbt;
        acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pbt,AcDb::kForRead);
        AcDbBlockTableRecord *pbtr;
        pbt->getAt(ACDB_MODEL_SPACE,pbtr,AcDb::kForWrite);
        pbt->close();
        AcDbLine *pline=new AcDbLine(sp,dp);
        AcDbLine *pline1=new AcDbLine(dp,ep);
        AcDbCircle *pcircle=new AcDbCircle(sp,normal,0.3);
        AcDbObjectId lineid;
        AcDbObjectId lineid1;
        AcDbObjectId circleid;
        pbtr->appendAcDbEntity(lineid,pline);
        pbtr->appendAcDbEntity(lineid1,pline1);
        pbtr->appendAcDbEntity(circleid,pcircle);
       
        AcDbText *ptext=new AcDbText(textp,cha,NULL,3,0);
        pbtr->appendAcDbEntity(ptext);
        ptext->close();
        pcircle->close();
        pbtr->close();
        pline->close();
        pline1->close();
}
回复

使用道具 举报

3

主题

97

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
109
发表于 2005-3-16 10:47:00 | 显示全部楼层
楼主请再说详细一点好么? 回车是直接就回车还是输入了一串字符再回车? 异常是什么样的异常? 有没有什么错误报告跳出来? 还是就直接退出程序没有进行后面的操作?
回复

使用道具 举报

11

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2005-3-16 11:04:00 | 显示全部楼层
是输入几个数字后回车,比如23,7.然后就弹出异常出错对话框,在视图区没有任何线条和数字出现,多谢你了!!对话框出错说我的ARX文件命令中发生异常,
回复

使用道具 举报

12

主题

54

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
102
发表于 2005-3-16 11:25:00 | 显示全部楼层
我的环境是VC6+ARX2002,我编译了你的源代码,并加入了如下的头文件,没有出现任何异常,并且出现了标注的线条和数字,你把你的头文件包含下面的试试
#include "geassign.h"
#include "dbsymtb.h"
#include "dbents.h"
回复

使用道具 举报

3

主题

97

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
109
发表于 2005-3-16 11:47:00 | 显示全部楼层
除了头文件之外, 楼主也看看是不是因为char cha[3]太小了, 放不下多于三个字的字串..23,7这样的字串里逗号也是要算字符的..改成[10]试一下..虽然偶不觉得这个会造成fatal error, 但是有些时候什么事情都会发生..
回复

使用道具 举报

11

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2005-3-16 12:08:00 | 显示全部楼层
谢谢你们了!!!
回复

使用道具 举报

11

主题

34

帖子

3

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
78
发表于 2005-3-16 12:10:00 | 显示全部楼层
真的cha[3]的大原因!!多谢多谢!!!!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-2-5 06:59 , Processed in 0.195573 second(s), 66 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表