Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Rave und CustomConnection (https://www.delphipraxis.net/36058-rave-und-customconnection.html)

marcus 15. Dez 2004 09:38


Rave und CustomConnection
 
Hallo zusammen!

Ich verwende als Datenbank den embedded mysql-server. Nun möchte ich ein paar Daten mit Rave ausdrucken. Da ich die Daten von dem embedded mysql-server nur in einem array übergeben bekomme muss ich über die CustomConnection von Rave gehen, falls ich einen Report ausdrucken will. Ich habe mir auch schon einige Dokus zu dem Thema angeschaut und ausprobiert.

http://www.nevrona.com/files/next_steps_with_rave.pdf

und

http://www.delphipraxis.net/internal...stomconnection

Btw: Im Artikel 'Introduction to Rave Reports: Part IV' wird auf die CustomConnection in Part V hingewiesen. Irgendwie habe ich ihn noch nicht gefunden. Ist er noch nicht veröffentlicht?

Hier mal mein Beispielcode:
ist nicht sehr schön, wegen den Standartnamen, aber es ist nur ein Versuch.

Delphi-Quellcode:
  strings : array [1..6] of string = ('test1','test1','test1','test1','test1','test1');

procedure TForm1.Button1Click(Sender: TObject);
begin
  RvSystem1.DefaultDest := rdPreview;
  RvSystem1.Execute;
end;

procedure TForm1.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
  Connection.WriteField('Spalte_1',dtString,10,'','');
end;

procedure TForm1.RvCustomConnection1Open(Connection: TRvCustomConnection);
begin
  Connection.DataRows := High(strings);
end;

procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  Connection.WriteStrData(strings[connection.dataindex],'');
end;
Auf dem Formular sind folgende Komponenten: TRvSystem, TRvProject und TRvCustomConnection.
Ich habe einen Report mit einem DatenBand, welches ein DatenTextFeld enthält, erzeugt.

Irgendwas fehlt jetzt noch, da mir als Preview ein leeres Blatt angezeigt wird. Ich habe
auch schon mit den Ereignissen OnFirst bzw. OnNext der CustomConnection herumprobiert,
leider ohne Erfolg.

Weiß jemand Rat?

Marcus

marcus 15. Dez 2004 14:30

Re: Rave und CustomConnection
 
Sooo, nach etwas herumgestöpsel bin ich mal etwas weiter gekommen.

Ich habe das Array mal gelöscht und dies
Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  Connection.WriteStrData(strings[connection.dataindex],'');
end;
durch das hier ersetzt.

Delphi-Quellcode:
procedure TForm1.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
begin
  Connection.WriteStrData('This is Line Number ' + IntToStr(Connection.DataIndex+1), '');
end;
Funktionieren tut es schon mal, wenn ich das Programm laufen lasse ,den Rave Designer starte und dann mir mit F9 eine Voransicht darstellen lasse. Wenn ich aber die Preview aus dem Programm heraus starte, dann bleibt das Blatt leider leer!

marcus 18. Dez 2004 12:56

Re: Rave und CustomConnection
 
Hallo zusammen, jetzt funktioniert es endlich!
Falls es jemanden interessiert wie die CustomConnection zusammen mit dem embedded MySQL-Server funzt, dann kann ich ja mal den Code posten.

Eine Sache ist mir allerdings noch etwas Unklar. Wenn ich die Eigenschaft ControllerBand einer normalen Band-Komponente auf das jeweilige Datenband setzte, dann wird der Text in dem Band nicht mehr angezeigt.
Kann mir da jemand auf die Sprünge helfen?

Marcus


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:50 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz