下面是我尝试IAdviseSink
在我的TForm1
类中设置接口以捕获新创建的MSWord文档的一些事件的代码.代码运行时我没有任何错误,但我无法捕获任何事件,同时保存文档或关闭它.如何IAdviseSink
正确设置MSWord文档?
var
Form1 : TForm1;
doc_ole_obj : IOleObject;
word : IDispatch;
Connection: LongInt;
implementation
//------------ Setup IAdviseSink
procedure TForm1.Setup;
begin
word := CreateOleObject('Word.Application');
OleVariant(word).Visible := True;
IUnknown(OleVariant(word).Documents.Open('file.doc')).QueryInterface(IOleObject,doc_ole_obj);
doc_ole_obj.Advise(IAdviseSink(Self), Connection);
end;
//------------- catch Sink events
procedure TForm1.OnSave;
begin
Caption := 'saved at ' + TimeToStr(Now);
end;
我正在使用Synapse smtp库发送smtp消息.但是消息不会保留在服务器上.电子邮件客户端"保留服务器上的消息"选项,但如何手动设置?