我用IntrWeb做好了ISAPI,正常发布了,可是现在要把已经做好的Rave文件在页面上调用,我试过了,没反应!有人说要用Rave Server我去下了一个,可是好像要把数据连接放到.rav文件里,现在已经没有时间重做了!
恳请各位给点方法,分数不够可以再加!

解决方案 »

  1.   

    代码是同事写的, 可以执行, 不过我只知道一点.
    需要TRvRenderHTML控件, TRvProject的ProjectFile连接rave reportprocedure TformMain.IWButton1Click(Sender: TObject);
    begin
    rvproject1.selectreport('report',true);  
    rvsystem1.DoNativeOutput:=false;
    rvsystem1.DefaultDest:=rdfile;
    rvsystem1.renderobject :=rvrenderhtml1;
    rvsystem1.outputfilename :='files\test.html';  //这自动产生, 
    rvsystem1.systemsetups :=rvsystem1.systemsetups-[ssallowsetup];
    rvproject1.execute;
    AddToInitProc('open("http://localhost/test/files/test.html","display","toolbar=yes,directories=yes,menubar=yes")');  //IIS 虚拟目录test要建立
    end;
      

  2.   

    我试试!
    可是这个好像是生成一个页面,打印出来不好看,请问有可以象Rave里直接打印预览的方法吗?
      

  3.   

    Preview确实是问题.
    可是你要传到客户端显示, 当然是是用页面.
    要不用PDF试试???
      

  4.   

    xiao78(xiao78) :
    谢谢您!可是我不能保证每个客户机都装Acrobat:(请问能和我联系一下吗,QQ : 26167952  msn:[email protected]
    想沟通的快一些!
      

  5.   

    我也想不出什么办法.
    要不你上http://www.nevrona.com/和news group  news.nevrona.com 看看
      

  6.   

    把dll转成exe, 运行在application server 中多打开几个session,
    把产生的URL放到其它机器上运行, 按下打开RAVE 报表的按钮,
    rave的preview window 会产生在server端, 
    我觉得除了转成html和pdf, 好象没有别的方法了
      

  7.   

    对于BS结构的是不能在客户端显示打印预览的,只能通过先保存成PDF或HTML格式的,
    如果生成PDF有中文显示的问题。
    http://expert.csdn.net/Expert/topic/1315/1315471.xml?temp=.5972254这是我以前回的贴子看看吧。程序如下
    我的思路是这样的,先把报表保存在一个文件中(PDF,HTML)然后再打开他.
    //生成报表并保存为HTML格式,PDF格式不支持中文
    RaveProject1.SelectReport('report1',true);
    with RvSystem1 do
    begin
       DoNativeOutput :=false;
       DefaultDest :=rdfile;
       RenderObject :=rvrenderhtml;//保存为HTML
       OutputFileName :='files/test.html';//要保存在INTRAWEB下FIELS中
       SystemSetups :=SystemSetups-[ssallowsetup];
    end;
    try
         raveproject1.Execute;
    except
       webapplication.showmessage('生成报表错误');
    end;//打开此报表
    const
    AIPOptions: string ='toolbar=no,status=no,menubar=yes,scrollbars=yes,resizable=yes,location=no,directories=no,width=780,height=580';
    AIPNewWindow: string = 'NewWindow("%s", "%s", "%s");';
    aipurl :=webapplication.urlbase+'/files/'+'test.html';
    AddToInitProc('NewWindow("' + AIPURL + '", "Agenda", "' + AIPOptions+'");');
      

  8.   

    qxj(borland中国) :
    你的这个代码我以前看过,可是除了用Html、pdf外就没有别的办法了吗 xiao78(xiao78) :
    StandAlone模式下我试验成了,可是Dll就有问题:(我先照二位提供的方法做吧,成功后就给二位发分
      

  9.   

    不好意思据我所知只能保存为HTML,PDF,RTF,TEXT,还有本身的格式。
    PDF不支持中文。
    HTML外观不漂亮。:)
    你可以试试RTF,不过我想也许还不如HTML
      

  10.   

    小弟对网络方面(ASP、JSP)一窍不通,照着
     AddToInitProc('NewWindow("' + AIPURL + '", "Agenda", "' + AIPOptions+'");');
    写可是为什么报Session过期?
      

  11.   

    xiao78(xiao78)、 qxj(borland中国) :您好!我试过了您留的方法!在Delphi7自带版本的IntraWeb中,如果用生成Html它会自动生成两个.gif用来画表格线的.如果是ISAPI,它就要往系统目录下写,结果是系统不允许它写入,因此报错!
    我又升级到了5.1.22,结果是它不能往子目录里面写比如:“files\” 下。读取的时候又会自动的加上端口号,造成不能读取!
    我都快疯掉了!!!
      

  12.   

    如果是ISAPI,
    rvsystem1.outputfilename :='c:\documents and settings\ttt\my documents\yy\test.html';  ///用绝对路径试试, 可以的
      

  13.   

    Sorry!在家病了两天,今天才上班!
    xiao78:我试试!
      

  14.   

    问题没解决,还是谢谢各位!
    结了!Xiao78:谢谢你能给我回邮件^_^