Thema: Delphi Rave Report

Einzelnen Beitrag anzeigen

frankg

Registriert seit: 20. Mai 2003
Ort: Wetter
72 Beiträge
 
Delphi 7 Architect
 
#6
  Alt 20. Mai 2003, 22:53
Zitat von merlin17:
Was heisst denn demNext...
ich könnte auch zeitnah schreiben, ähnlich unbestimmt....
Kannst mir ja mal bitte Bescheid sagen, wenn das verfügbar ist.

Zitat von merlin17:
<<zur Laufzeit eine Datenquelle an einen Report binden>> versteh' ich nicht ganz. willst du die dataview quasi dynamisch einbinden (incl. felderdefinition) ??
Es geht im Prinzip um folgendes. Ich habe zunächst (basierend auf einem Beispiel ADODataSet) einen Report aufgebaut. Diesem möchte ich jetzt ein anderes Dataset unterschieben. Brauchen tue ich das, weil in meiner Anwendung Daten angezeigt werden, die auch (bei Bedarf) ausgedruckt werden sollen, d.h. ich besitze bereits ein offenes DataSet und muss mir dann die Daten nicht noch einmal vom Server holen. Der Report soll nun die Daten aus diesem DataSet verwenden.

Zitat von merlin17:
<<den zweiten RaveArtikel>> du meinst den 3., oder ?
Toll, ja, hast Recht, habe ich heute (nachdem die CD angekommen ist) auch gemerkt

Zitat von merlin17:
<<tiefer in die Materie >> da ist man schnell im hardcore-bereich gelandet und dass ist in artikelform eher schwer rüberzubringen. dafür eignet sich aus meiner sicht die rave-seminare eher.
Naja, ich weiss ja nicht. Meist gehe ich dann so tief in die Materie, so dass der Seminarleiter auch nicht weiter weiss. (Am besten man holt sich mal den Programmierer

Ich bin bei meinen Recherchen im Internet heute schon etwas weiter gekommen und glaube ich auch kurz davor das Problem zu lösen. Ich habe folgenden Newsgroup-Artiken gefunden, wo das im Prinzip auch gemacht werden soll:

(http://groups.google.com/groups?q=fi...and.com&rnum=2)

Dort schlagen sie folgenden Code vor:

Delphi-Quellcode:
  OldDataView := RaveProject1.ProjMan.FindRaveComponent('MyDV',nil);
  RaveProject1.ProjMan.DeleteItem(OldDataView);
  NewDataView := CreateDataView(CreateDataCon(MyCXN));
  NotifyChanging(OldDataView,NewDataView);
Der funktioniert aber nicht bei mir. Die erste Zeile ruft einen Laufzeitfehler hervor (Bevor Du fragst: Ja, ich hab die neue Version installiert 5.0.8 ) . Ich habe das Ganze dann mal folgendermassen entzerrt:

Delphi-Quellcode:
myDataCon := CreateDataCon(MyCXN)); //This works. The DataConnection is created and I can access it
// just to ensure that DataConnection-Object is valid:
MessageDlg (myDataCon.Name,mtInformation,[mbOK],0);
// The MsgDlg pops up and the Name is displayed correctly
// Now the problematic line:
myDataView := CreateDataView(myDataCon);
Hier fliegt er in der letzten Codezeile raus. CreateDataView liefert: "Access violation at 005437F in Modul
'Project1.exe'. Reading from Adress 00000048". Und ich weiss nicht wieso. myDataCon existiert. Sehr komisch. Ich habe das ganze auch mal bei Borland ins Forum gepostet.

Viele Grüsse

Frank
  Mit Zitat antworten Zitat