Delphi 打开DWG时禁用所有消息

Delphi 打开DWG时禁用所有消息,delphi,ole,autocad,Delphi,Ole,Autocad,我正在开发将DWG转换为PDF的应用程序。利用autocadole在Delphi上开发。我发现最好的解决方案是使用Publish命令。它工作正常,但问题是当我打开DWG文件时,可能会出现一些消息。例如,它可能是缺少SHX文件消息,或者记住文件是在早期版本中创建的,关于ObjectARX等等。当然,在AutoCAD中手动打开这些DWG时会显示这些消息。 但是,例如,当通过OLE使用Excel时,它具有静默模式,因此不会显示任何消息。 AutoCAD中是否有类似的内容? 有一些系统变量,如FILED

我正在开发将DWG转换为PDF的应用程序。利用autocadole在Delphi上开发。我发现最好的解决方案是使用Publish命令。它工作正常,但问题是当我打开DWG文件时,可能会出现一些消息。例如,它可能是缺少SHX文件消息,或者记住文件是在早期版本中创建的,关于ObjectARX等等。当然,在AutoCAD中手动打开这些DWG时会显示这些消息。
但是,例如,当通过OLE使用Excel时,它具有静默模式,因此不会显示任何消息。 AutoCAD中是否有类似的内容?
有一些系统变量,如FILEDIA或EXPERT(我使用它),但它仅在文档中可用,当它已经打开时,不适用于应用程序。

以下是我的代码的一部分,我在其中打开DWG:

...
CoInitializeEx(nil, 0);
AutoCAD := GetActiveOleObject('AutoCAD.Application');//connect to running AutoCAD
if not VarIsNull(AutoCAD) then
begin
  cadDocument := AutoCAD.Documents.Open(InputFilename, True);//here's problem line code
  ...
end;
...

这是一个Autocad问题,而不是Delphi问题。Autocad OLE文档说明了什么?那些信息应该去哪里?一旦你知道了这一点,也许可以找到一个德尔福解决方案。是的,我知道它是关于AutoCAD的。问题在于大多数设置仅适用于文档(系统变量等),而不适用于AutoCAD应用程序。但在打开doc之前我们需要做点什么。问题是什么。Autocad automation文档说了什么?那个文件公开吗?如果是,在哪里?是的,是公共的。这里是关于OpenMethod——阅读文档,我理解了使用VBA时错误被错误VBA结构捕获的原因。这可能是ActivX级别的事件。