我想用fastreport打印图形。我想打印jpg类型。数据用流处理保存在数据库里面。现在我想打印出来也用流处理。这样写在fasterportbeforeprint事件中。怎么出错啊。看不出什么错误。救命啊
var
tmpstream:tmemorystream;
begin
if not Tblobfield(adotable1.FieldByName('c_photo')).IsNull then //把图象在image里面显示出来
begin
try
try
tmpstream:=tmemorystream.Create;
Tblobfield(adotable1.FieldByName('c_photo')).SaveToStream(tmpstream);
tmpstream.Position:=0;
FrReport1.FindObject('picture1').LoadFromStream(tmpstream);
一运行到最后那条记录就出错。
为什么啊。怎么解决啊。
var
tmpstream:tmemorystream;
begin
if not Tblobfield(adotable1.FieldByName('c_photo')).IsNull then //把图象在image里面显示出来
begin
try
try
tmpstream:=tmemorystream.Create;
Tblobfield(adotable1.FieldByName('c_photo')).SaveToStream(tmpstream);
tmpstream.Position:=0;
FrReport1.FindObject('picture1').LoadFromStream(tmpstream);
一运行到最后那条记录就出错。
为什么啊。怎么解决啊。
TFrPictureView( frReport1.FindObject('pic')).Picture.Bitmap.LoadFromStream(tt),
这样也不行啊。我已经设置为blobtyp属性jpg。
我想已经不是代码问题了。是不是我要加什么文件呢。我delphi表单里面已经家了jpeg单元了。
吗的我现在已经想不出那里还没有设置对了。救命好。好心人。
var
v: TfrView;
t2:tfrpictureview;
begin
v := TfrpictureView.Create; // create memo
v.FrameTyp :=15;
v.SetBounds(aCurrentLeft,aCurrentTop,aWidth,aHeight);
v.Name:='Z'+inttostr(I);
vfrReport.Pages[J].Objects.Add(v);
t2:= TfrpictureView(vfrReport.FindObject(v.Name));
t2.Picture.Assign(cxDBImage2.Picture);
end;
我已经建好了在报表里面:在打印前这样调用:
TFrPictureView( frReport1.FindObject('pic')).BlobType:=15;
TFrPictureView( frReport1.FindObject('pic')).Picture.Assign(image1.Picture);
如果是bmp可以。如果是jpg就不显示也不出错。
---我一个问题是不是我的报表的bug啊。我的是2。46版。如果谁有2。53请给我一份网上的都是试用版好难找啊
————而且我直接在报表设计器里面在picture里面加jpg加完能显示。但是预览就什么也没有。所以我怀疑是我的报表问题。我的代码好象已经没有问题了