我用TOLEContanier将数据库中的word文档加载到word后进行修改,修改结束后退出word。我想在程序中捕捉word退出的消息,然后判断TOLEContanier数据是否被修改,如果修改的话就直接存入数据库中,但不知道如何捕捉word退出的消息,请大家帮帮忙那,急死了!
解决方案 »
- delphi rzpanel如何设置颜色渐变?
- xp格盘重装后只能进安全模式,正常启动则死机,是何原因?
- 关于数据类型转换问题
- 请lijinghe1(副乡长)和 knife_s(人生常恨水常东)进来接分!
- 使用API函数进行文件夹的拷贝,可是报错,但是重新执行一次或几次,就可以了,为什么?
- Delphi和驱动通信的问题
- 100分,急 急 急 各位老大 如何正确安装,卸载 使用 MSCOMM32.OCX
- ?书!!!
- DELPHI5中使用ACCESS97数据库
- 有这样一个SQL语句:select sum(age) from Table 要把它的结果显示在TStatusBar上,怎么做?
- indy10 idpop3控件收邮件主题中文为空
- 检测Virtual PC
begin
Sleep(100);
Application.ProcessMessages;
end;
while OleContainer1.State = osRunning do{運行TOleContainer特有的方式以等到關閉的方式打開WORD}
begin
Sleep(100);
Application.ProcessMessages;
end; 如有一個 WordMemoryStream 內存流變量:WordMemoryStream := TMemoryStream.Create;
OleContainer1.SaveToStream(WordMemoryStream);再有一個 WordStringStream 字符串流變量, 把內存流存入字符串流WordStringStream := TStringStream.Create('');WordMemoryStream.SaveToStream(WordStringStream);把字符串流存入數據庫TBlobField(數據庫名.FieldByName(字段名)).LoadFromStream(WordStringStream);
數據庫名.Post;放到二個流
WordStringStream.Free;
WordMemoryStream.Free;
procedure TfrmMain.muNewExecute(Sender:TObject);
begin
try
OleContainer1.CreateOleFromFile('c:\公文.dot',true);
OleContainer1.DoVerb(ovShow);//单独窗口启动WORD
except
messagebox(handle,'没有安装Word','提示',MB_ICONEXCLAMATION OR MB_OK);
EXIT;
END;
frmMain.hide;//先隐藏主窗口
while OleContainer1.State = osRunning do
Sleep(100);
Application.ProcessMessages;
frmMain.Show;//关闭WORD后显示主窗口
end;
end;但是关闭word后主窗口没有显示啊?请大哥指点一下我错在哪里啊?另外保存数据的程序我会写
begin
Sleep(100);
Application.ProcessMessages;
end; frmMain.Show;//关闭WORD后显示主窗口
begin
Sleep(100);
Application.ProcessMessages;
end; osRunning应该换成osOpen才行,呵呵!