我想用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);
一运行到最后那条记录就出错。
为什么啊。怎么解决啊。

解决方案 »

  1.   

    我靠。看样子这里。一天不如一天了。都没有人回答。分也不少了。
    TFrPictureView( frReport1.FindObject('pic')).Picture.Bitmap.LoadFromStream(tt),
    这样也不行啊。我已经设置为blobtyp属性jpg。
      我想已经不是代码问题了。是不是我要加什么文件呢。我delphi表单里面已经家了jpeg单元了。
    吗的我现在已经想不出那里还没有设置对了。救命好。好心人。
      

  2.   

    你把 frOleObject 控件放到窗体上看看
      

  3.   

    不好意思刚才写错了,呵呵,记得不清楚了,用下面的方法
    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;
      

  4.   

    兄弟啊。你前面不都是自动生成一个tfrpictureview对象啊。最主要是是最后 t2.Picture.Assign(cxDBImage2.Picture);---我是试了也不行啊。
    我已经建好了在报表里面:在打印前这样调用:
       TFrPictureView( frReport1.FindObject('pic')).BlobType:=15;
       TFrPictureView( frReport1.FindObject('pic')).Picture.Assign(image1.Picture);
     如果是bmp可以。如果是jpg就不显示也不出错。
    ---我一个问题是不是我的报表的bug啊。我的是2。46版。如果谁有2。53请给我一份网上的都是试用版好难找啊
    ————而且我直接在报表设计器里面在picture里面加jpg加完能显示。但是预览就什么也没有。所以我怀疑是我的报表问题。我的代码好象已经没有问题了
      

  5.   

    靠算了。 自己解决了。是我的版本不支持。我的是2。46 。以后谁遇到这样的问题。就不要再搞了。现在的问题。谁有已经注册的2。53或更高的。发一分给我啊。我的[email protected] QQ36971661
      

  6.   

    djh8899(高手@<菜了>!) 高手!!!