我做了一个嵌入到WEB中的ACTIVEFORM,之中只有一个按钮,点击这个按钮弹出一个FORM
在这个FORM中创建WORD并嵌入一个panel中,点击按钮运行前8次都正常,但是到第九次以后就会出错,WORD可以创建但是不能打开文档。
错误信息是:
access violation at address 006D6574.read of address 006D6574.
但是刷新一下WEB页面,就又正常了
代码如下:
if FindWindow('OpusApp', nil)<>0 then
BEGIN
cfg.MessageDlg('word 正在使用,系统将关闭它!', mtinformation, [mbok], 0);
SendMessage(FindWindow('OpusApp', nil), WM_CLOSE, 0, 0);
END;
try
myapp := CreateOleObject('word.application');
except
cfg.MessageDlg('创建WORD对象失败!您可能未安装WORD或安装已损坏!', mtinformation, [mbok], 0);
Application.Terminate;
end;
myapp.Visible := true;------------------
try
WDHD := FindWindow('OpusApp', nil); ////查找该对象句柄
except
cfg.MessageDlg('初始化WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
if wdhd<>0 then
begin
try
Windows.SetParent(WDHD, Self.Panel1.Handle); //将对象内嵌到panel中
except
cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
end
else
begin
cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
-------------------------
try
doc := myapp.documents.open(tempdir + 'temp.doc',False,False,False,'','',False,'','',0);
except
cfg.MessageDlg('打开文档失败!', mtinformation, [mbok], 0);
docstate := False;
exit;
Self.Close;
不知那位前辈遇到过这种情况。请赐教
在这个FORM中创建WORD并嵌入一个panel中,点击按钮运行前8次都正常,但是到第九次以后就会出错,WORD可以创建但是不能打开文档。
错误信息是:
access violation at address 006D6574.read of address 006D6574.
但是刷新一下WEB页面,就又正常了
代码如下:
if FindWindow('OpusApp', nil)<>0 then
BEGIN
cfg.MessageDlg('word 正在使用,系统将关闭它!', mtinformation, [mbok], 0);
SendMessage(FindWindow('OpusApp', nil), WM_CLOSE, 0, 0);
END;
try
myapp := CreateOleObject('word.application');
except
cfg.MessageDlg('创建WORD对象失败!您可能未安装WORD或安装已损坏!', mtinformation, [mbok], 0);
Application.Terminate;
end;
myapp.Visible := true;------------------
try
WDHD := FindWindow('OpusApp', nil); ////查找该对象句柄
except
cfg.MessageDlg('初始化WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
if wdhd<>0 then
begin
try
Windows.SetParent(WDHD, Self.Panel1.Handle); //将对象内嵌到panel中
except
cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
end
else
begin
cfg.MessageDlg('嵌入WORD失败!', mtinformation, [mbok], 0);
Application.Terminate;
end;
-------------------------
try
doc := myapp.documents.open(tempdir + 'temp.doc',False,False,False,'','',False,'','',0);
except
cfg.MessageDlg('打开文档失败!', mtinformation, [mbok], 0);
docstate := False;
exit;
Self.Close;
不知那位前辈遇到过这种情况。请赐教
解决方案 »
- 请教不通过网页原代码获取网页内所有URL的方法 注意是不通过网页原代码 最好有现成的函数或者组件
- 请大家帮我把vb的代码转换成delphi的
- 动态改变fastreport中Memo控件的高度!
- 多少DELPHI人在学JAVA?
- 急求一个进销存的sql语句(按货品类别查询交易汇总)
- 同志们啦!快来救火呀!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 突发奇想,考考你
- 分数,谁先来,给谁了`
- 编写代码的 7 条基本原则
- jjjj,关于数据库的问题
- 急问:在delphi中如何将一个access数据库中的表导入到另一个access数据库??
- 如何调用vc的com接口,急急
就是先确定是否是和你做的web有关
我想是不是因为这个FORM在close资源没有释放的原因
没有释放