明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1705|回复: 0

请问 为什么在一个对话筐里 画线按钮响应函数 执行出错 但如果在一个单独的命令中却

[复制链接]
发表于 2003-10-2 21:49:00 | 显示全部楼层 |阅读模式
请问 为什么在一个对话筐里 画线按钮响应函数 执行出错 但如果在一个单独的命令中却可以正常?[br]请问 为什么在一个对话筐里 画线按钮响应函数 执行出错
但如果在一个单独的命令中却可以正常?
void CLineDlg::OnButtonLine()
{

        AcDbDatabase *pCurDb;
AcGePoint3d startPt(40.0,20.0,0.0);
AcGePoint3d  endPt(240.0,220.0,0.0);
AcDbLine *pLine = new AcDbLine(startPt, endPt);
pCurDb=acdbHostApplicationServices()->workingDatabase();
AcDbBlockTable *pBlockTable;
pCurDb->getBlockTable(pBlockTable,
AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
AcDb::kForWrite);
pBlockTable->close();
AcDbObjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTableRecord->close();
pLine->close();
}
说ACDB15.DLL出错
但在命令 执行函数 中却可以正常运行
void RELATIONqdp()
{
        // TODO: Implement the command
        AcDbDatabase *pCurDb;
AcGePoint3d startPt(40.0,20.0,0.0);
AcGePoint3d  endPt(2400.0,2400.0,0.0);

//ads_getpoint(NULL,"\n 第 一 点:",asDblArray(startPt));

//ads_getpoint(asDblArray(startPt),"\n 第 二 点:",asDblArray(endPt));

       
::AfxMessageBox("2");
AcDbLine *pLine = new AcDbLine(startPt, endPt);
pCurDb=acdbHostApplicationServices()->workingDatabase();


AcDbBlockTable *pBlockTable;
pCurDb->getBlockTable(pBlockTable,
AcDb::kForRead);



AcDbBlockTableRecord *pBlockTableRecord;

pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord,
AcDb::kForWrite);

pBlockTable->close();
//AcDbObjectId lineId=AcDbObjectId::kNull;
AcDbObjectId lineId;
pBlockTableRecord->appendAcDbEntity(lineId, pLine);
pBlockTableRecord->close();
pLine->close();
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 19:52 , Processed in 0.170374 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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