procedure TForm1.Button2Click(Sender: TObject);
begin
 if OpenDialog1.Execute then
  RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
 end;procedure TForm1.Button1Click(Sender: TObject);
var
   Stream:TmemoryStream;
begin
    frLocale.LoadDll('FRCHI.DLL');
    Stream := TmemoryStream.Create;
    try
    richedit1.Lines.SaveToStream(Stream);
    Stream.Position := 0;
    TfrRichView(frReport1.FindObject('rich1')).RichEdit.Lines.Clear;
    TfrRichView(frReport1.FindObject('rich1')).RichEdit.Lines.LoadFromStream(Stream);
    frReport1.ShowReport;
  finally
    stream.Free;
    frLocale.UnloadDll;
  end;
end;end.   原程序就这么多,当读取一个rtf文档(比如十多页),预览的时候文档最后几行总不能显示出来,有劳大家帮忙,如果需要源文件,我的QQ:17229826,我传源文件,过程很少,麻烦大家。

解决方案 »

  1.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, FR_Class, FR_Rich, StdCtrls, ComCtrls;type
      TForm1 = class(TForm)
        RichEdit1: TRichEdit;
        Button1: TButton;
        frReport1: TfrReport;
        Button2: TButton;
        OpenDialog1: TOpenDialog;
        frRichObject1: TfrRichObject;
        procedure Button2Click(Sender: TObject);
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
       
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}
    procedure TForm1.Button2Click(Sender: TObject);
    begin
     if OpenDialog1.Execute then
      RichEdit1.Lines.LoadFromFile(OpenDialog1.FileName);
     end;procedure TForm1.Button1Click(Sender: TObject);
    var
       Stream:TmemoryStream;
    begin
        frLocale.LoadDll('FRCHI.DLL');
        Stream := TmemoryStream.Create;
        try
        richedit1.Lines.SaveToStream(Stream);
        Stream.Position := 0;
        TfrRichView(frReport1.FindObject('rich1')).RichEdit.Lines.Clear;
        TfrRichView(frReport1.FindObject('rich1')).RichEdit.Lines.LoadFromStream(Stream);
        frReport1.ShowReport;
      finally
        stream.Free;
        frLocale.UnloadDll;
      end;
    end;end.
      

  2.   

    frLocale是什么,你最好用原名
      

  3.   

    frLocale.LoadDll('FRCHI.DLL');
    可以不用,屏蔽//
      

  4.   

    走之前up一下,up有分,不够再加200分
      

  5.   

    rtf文档,如果只有两个记录可以打印出来吗?先要保证读取成功。