明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2119|回复: 3

无法关闭文档

[复制链接]
发表于 2009-5-18 21:05:00 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2009-5-18 21:47:38 编辑

void CloseActiveDocument()
{
    IAcadApplication IApp;
    IAcadDocument IDoc;
 
    IDispatch *pDisp = acedGetAcadWinApp()->
        GetIDispatch(TRUE); //AddRef is called on the pointer
    IApp.AttachDispatch(pDisp); // does not call AddRef()
    IApp.SetVisible(true);
    pDisp = IApp.GetActiveDocument(); //AddRef is called
    IDoc.AttachDispatch(pDisp);

 VARIANT saveChanges, fileName;
 saveChanges.vt = VT_BOOL;
 saveChanges.boolVal = VARIANT_TRUE;
 fileName.vt = VT_ERROR;
 fileName.scode = DISP_E_PARAMNOTFOUND;

 IDoc.Close(saveChanges, fileName);

 return;
}

怎么不能关闭当前文档,反而报错

弹出一对话框 说什么“未处理的异常 等。。。”

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2009-5-21 13:40:00 | 显示全部楼层
估计是你掉用这个函数的位置问题引起的,这样的函数需要一个非模式窗口来处理消息,你可以创建一个非模块对话框,在对话框中去关闭文档。
 楼主| 发表于 2009-5-23 23:08:00 | 显示全部楼层

命令行输入命令啊

同样用vb或vba写的 IDoc.Close true没有任何问题啊

 楼主| 发表于 2009-5-24 17:26:00 | 显示全部楼层

谢谢松竹 问题解决了

是命令作用域的问题

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

本版积分规则

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

GMT+8, 2024-11-25 13:54 , Processed in 0.172759 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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