还是老问题!(100分)

  • 主题发起人 主题发起人 defox
  • 开始时间 开始时间
D

defox

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中,我用ole显示autocad的图象,根据前面的方式,

begin
With OpenDialog1 do begin
if Execute then begin
Try
OleContainer1.CreateLinkToFile
(OpenDialog1.FileName,False);
Except
OleContainer1.CreateObjectFromFile
(OpenDialog1.FileName, False);
end;
end;
end;
end;

可是我每次用OpenDialog1打开新文件(与第一次打开的文件格式是一样的)
时总要新运行一次文件的服务器,如:如是autocad的图象就要再运行一次
autocad,屏幕上就有两个autocad窗口,可是,我只希望有一个就行了。
另外:如何在程序关闭时,同时关闭Ole连接的对象,不用手工关闭它。
 
我没做过ACAD的,
但其它的服务器好象没你这种情况呀 ?
 
这说明 AutoCAD 不支持 OleContainer 中的 InPlace 属性,所以才会在程序之外打开
一个窗口,这样的 OLE 好象不容易通过程序关闭,可以试着找出它的窗口句柄,然后杀
掉这个进程。
你可以试试把 一个可执行文件放在 OleContainer 里,双击打开看看,跟你所说的
另打开一个窗口的情况应该相同。
 
接受答案了.
 
后退
顶部