Thema: Delphi Rave Reports

Einzelnen Beitrag anzeigen

MichaelB

Registriert seit: 10. Dez 2003
1 Beiträge
 
#1

Rave Reports

  Alt 10. Dez 2003, 12:36
Hallo,

ich habe da ein riesiges Problem mit den Rave Reports. Das Thema wurde schon häufiger besprochen, aber mit mir leider keine Klarheit verschafft. Also nicht böse sein, sollte mein Problem schon häufiger besprochen worden sein.

Ich programmiere mit Delphi7 und möchte jetzt einfach mal zu Übungszwecken eine Report mit Rave generieren, der nicht weiter macht als eine Zahl aus einem Array anzuzeigen.

Dazu habe ich mir eine Form genommen und auf diese einen Button gelegt, eine TRvProject - Komponente und eine TRvCustomConnection-Komponente.

In Rave habe ich eine Data-View Komponente, welche ich mit der TRvCustomConnection-Komponente verbunden habe. Dem Report(Page1) habe ich eine DataText-Komponente, welche nun meine Daten anzeigen soll.

Aus einem älteren Posting habe ich folgende Prozeduren übernommen (hier meine gesammte Unit).

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, RpRave, RpDefine, RpRender, RpRenderRTF, RpCon;

type
  TForm1 = class(TForm)
    RvProject1: TRvProject;
    Button1: TButton;
    RvCustomConnection1: TRvCustomConnection;
    procedure FormCreate(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure RvCustomConnection1Open(Connection: TRvCustomConnection);
    procedure RvCustomConnection1GetRow(Connection: TRvCustomConnection);
    procedure RvCustomConnection1GetCols(Connection: TRvCustomConnection);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  IntArray: Array[1..100] of integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
begin
   For i := 1 to 100 do IntArray[i] := i;
end;

procedure TForm1.Button1Click(Sender: TObject);
var wert: String;
begin
   wert := '100';
// RvProject1.SetParam('wert',wert);
   RvProject1.ExecuteReport('report1');
end;

procedure TForm1.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  //Anzahl der Datenzeilen; Da hier headerdaten nur 1
  Connection.DataRows := 1;

end;

procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  //Tatsächlichen Daten an den Report übergeben
  connection.WriteStrData('',inttostr(intArray[1]));

end;

procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
   //Datenfelder definieren
  connection.WriteField('Name',dtString,30,'','');

end;

end.
Wenn ich das Programm nun starte, dann erscheint auch der Report, aber ohne Daten. Beim Debuggen werden die Prozeduren von RvCustomConnection nie durchlaufen.

Kann mir jemand helfen und mir dagen wo das Problem liegt?

Viele Danke
Michael

[edit=sakura] [color] mit [delphi] Tags ausgetauscht. Mfg, sakura[/edit]
  Mit Zitat antworten Zitat