Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fastreport Klasse ableiten (https://www.delphipraxis.net/54237-fastreport-klasse-ableiten.html)

smudo 30. Sep 2005 10:27


Fastreport Klasse ableiten
 
Hallo :hi: ,

ich möchte vom FastReport eine eigene Klasse ableiten

Delphi-Quellcode:
TfrxMyReport=class(TfrxReport)
private
  [..]
protected
  [..]
public
  [..]
published
  [..]
end;
Ich hab wirklich noch nicht viel mehr drinzustehen, überschreibe auch keine Prozeduren und mache auch sonst noch nichts.
Trotzdem kommt die Fehlermeldung:

Zitat:

Folgende(r) Fehler trat(en) auf:
Klasse wurde nicht gefunden TfrxMyReport
Natürlich kann ich die Fehlermeldung mit report.EngineOptions.SilentMode:=True; verbergen.
Aber das behebt ja nicht den Fehler.
Habt ihr eine Idee, was ich ändern muss?

René

imp 30. Sep 2005 11:05

Re: Fastreport Klasse ableiten
 
Hallo,

wann kommt denn der Fehler. Direkt beim starten des Programms, oder erst beim Aufrufen des Reports?

Wenn ich mich recht entsinne müssen eigene, sowie auch die vorhandenen Klassen, irgendwo zunächst registriert und dem Framework bekannt gemacht werden. Steht denn nichts in der FAQ?

Gruß,
Frank

smudo 30. Sep 2005 11:49

Re: Fastreport Klasse ableiten
 
Zitat:

Zitat von imp
wann kommt denn der Fehler

Auf jeden Fall bei LoadFromFile.

Zitat:

Zitat von imp
Wenn ich mich recht entsinne müssen eigene, sowie auch die vorhandenen Klassen, irgendwo zunächst registriert und dem Framework bekannt gemacht werden.

Wenn du damit das Registrieren der Komponente meinst, hab ich das gemacht.

Zitat:

Zitat von imp
Steht denn nichts in der FAQ?

Nix gefunden.

smudo 30. Sep 2005 12:01

Re: Fastreport Klasse ableiten
 
Ich kann die Angabe sogar noch genauer machen.

Der Fehler wird in der Unit frxClass in TfrxComponent.LoadFromStream erzeugt.
Hab aber noch keinen Schimmer, wie ich das außer mit Silentmode beheben kann.

Union 30. Sep 2005 13:03

Re: Fastreport Klasse ableiten
 
Zitat:

Zitat von smudo
Ich kann die Angabe sogar noch genauer machen.

Der Fehler wird in der Unit frxClass in TfrxComponent.LoadFromStream erzeugt.
Hab aber noch keinen Schimmer, wie ich das außer mit Silentmode beheben kann.

So:
Delphi-Quellcode:
Classes.RegisterClass(TfrxMyReport);
Am besten in initialization oder im Formcreate.

smudo 30. Sep 2005 13:40

Re: Fastreport Klasse ableiten
 
Supi Danke :hello:

so funktionierts tatsächlich. Das musste ich bis jetzt noch nie machen :gruebel:

Union 30. Sep 2005 13:59

Re: Fastreport Klasse ableiten
 
Zitat:

Zitat von smudo
Supi Danke :hello:

so funktionierts tatsächlich. Das musste ich bis jetzt noch nie machen :gruebel:

Das liegt daran, dass FR eine Persistente Klasse ist, die in DFM gespeichert werden kann. Beim Erzeugen des Reportobjekts versucht er dann die Basisklasse (Normalerweise TfrxReport, jetzt TFrxMyReport) als registrierte Klasse zu finden. Und ohne den vorherigen Aufruf von Registerclass schlägt das fehl.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:01 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