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
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