AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fast Report - dataset does not exist

Ein Thema von RedOne · begonnen am 24. Jan 2013 · letzter Beitrag vom 1. Feb 2013
 
RedOne

Registriert seit: 2. Jun 2008
71 Beiträge
 
Delphi XE2 Professional
 
#1

Fast Report - dataset does not exist

  Alt 24. Jan 2013, 11:16
Hallo zusammen

Ich scheitere gerade an Fast Report. Und zwar können mehrere Reports gleichzeitig in verschiedenen Fastreportinstanzen geöffnet sein. Die Felder auf dem Reports greiffen alle auf das Dataset "reportdataset" zu. Dies wird aber erst zur Laufzeit erstellt und dem Report angehängt.

Delphi-Quellcode:
//TReporter ist eine abgeleitete Klasse von frxReport
constructor TReporter.Create(_owner: TComponent);
begin
  Inherited;
  FDBDataset:= TfrxDBDataset.Create(Self); //Ich erstelle hier das frxDBDataset, dem ich später ein "echtes" Dataset anhänge.
  FDBDataset.Parent:= Self;
  FDBDataset.Name:= 'reportdataset';
  FDBDataset.UserName:= 'reportdataset';
  Self.DataSet:= FDBDataset;
  DataSets.Add( FDBDataset );
  EnabledDataSets.Add( FDBDataset );
end;

procedure TReporter.ShowReport(_clearLastReport: Boolean);
begin
  InternalPrepareReport;
  Inherited ShowReport( _clearLastReport ); //Nun erscheint der Fehler
end;

procedure TReporter.InternalPrepareReport;
var
  ds: TDataSet;
begin
  //Wird ausgeführt wenn der Report geladen wurde und ShowReport oder PrepareReport aufgerufen wurde
  if Assigned( FDBDataset.DataSet ) then begin
    //Falls das Dataset existiert, wird es freigegeben
    FDBDataset.DataSet.Free;
    FDBDataset.DataSet:= nil;
  end;
  FDBDataset.DataSet:= TEDB.Instance.CreateDataset( FSQL ); //Hier wird ein TEDBDataset (ElevateDB) erstellt und zurückgegeben (Rückgabe ist vom Typ TDataSet). Das Dataset ist geöffnet und funktioniert.

end;
Wird jetzt ShowReport aufgerufen, wird im InternalPrepareReport das Dataset erstellt und dem bereits erstellten frxDBDataset zugewiesen. Dann erscheint aber der Fehler, dass das dataset "reportdataset" nicht existiert.
Wird im Create beim erstellen des frxDBDataSet kein Owner angegeben, funktioniert es. Allerdings gibt es später Probleme weil das Dataset irgendwie Global ist und nun verschiedene Datasets mit dem gleichen Namen existieren.

Hat da jemand eine Idee?

Herzlichen Dank!
RedOne
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:36 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