- UID
- 696658
- 积分
- 211
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2013-8-15
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
AcDbObjectIdArray objIds是对话框2中的一个公共数据;但是我按下面方法去得到不同的结果,请问哪错了啊??//////////////////////////////////////////////////////////////类class CSaveFile : public CAcUiDialog { DECLARE_DYNAMIC (CSaveFile)
public: CSaveFile (CWnd* pParent =NULL, HINSTANCE hInstance =NULL) ; ................................省略一些函数的声明 ................................ AcDbObjectIdArray objIds;//声明一个数组
}
选择实体函数
AcDbObjectIdArray Ccalculation::SelectObj(ads_name &entName,AcDbObjectId &entId,AcDbObjectIdArray& objIds)
{
long len=0;
acedSSGet(NULL,NULL,NULL,NULL,entName);
int rt=acedSSLength(entName,&len);
if (rt == RTNORM)
{
long length;
acedSSLength(entName, &length); // 获得选择集中的对象个数
for (int i = 0; i < length; i++)
{
ads_name ent;
acedSSName(entName, i, ent);
acdbGetObjectId(entId, ent);
objIds.append(entId);
}
}
return objIds;
acedSSFree(entName);
}
主函数
void zzfyzftest(){#ifdef OARXWIZDEBUG acutPrintf ("\nOARXWIZDEBUG - zzfyzftest() called.");#endif // OARXWIZDEBUG
CSaveFile cs;//对话框2对象 CFirstDialog FirstDialog;//对话框1对象 ads_name entName; AcDbObjectId entId;
if (FirstDialog.DoModal()==IDOK) { Ccalculation::SelectObj(entName,entId,cs.objIds); }
cstring str;str.fomat("%d",cs.objIds.length());AfxMessageBox(str);//假设选择一个实体,显示1}
这个在SaveFile.cpp中void CSaveFile::OnButton2() //初始化和选择实体{ CString str; str.Format("%d",objIds.length()); AfxMessageBox(str);//上面显示1,这里却显示0,照道理不是都一样的吗???}
|
|