关于Ole打印问题(100分)

  • 主题发起人 主题发起人 JonHua
  • 开始时间 开始时间
J

JonHua

Unregistered / Unconfirmed
GUEST, unregistred user!
我在程序中需要打印Ole数据,写了如下代码:
procedure PrintOle(AdoQuery: TADOQuery;OleContainer: TOleContainer; OleField: String);
var
Stream_tmp:TStream;
begin
if (not (AdoQuery.FieldByName(OleField) as TBlobField).IsNull) then
begin
Stream_tmp := TMemoryStream.Create();
Stream_tmp := AdoQuery.CreateBlobStream(AdoQuery.FieldByName(OleField) as TBlobField, bmRead);
Stream_tmp.Position := 0;
OleContainer.LoadFromStream(Stream_tmp);
OleContainer.DoVerb(ovPrimary);
OleContainer.OleObject.OleProcedure('PrintOut');
OleContainer.Close();
Stream_tmp.Free();
end;
end;


其作用是先将数据库中的数据读到OleContainer中,然后打印出来,可是当程序执行到
OleContainer.OleObject.OleProcedure('PrintOut');的时候会出现方法OleProcedure不支持的错误,不知为何。哪位高手能否帮助解决一下,不胜感谢,并愿意奉上100分。

本人的Email:Kevin@sunkin.com.cn
 
估计 PrintOut 是你的 OleObject 的一个方法吧,下面这样写就可以了
OleContainer.OleObject.PrintOut;
 
非常感谢!
 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
489
import
I
后退
顶部