lazreport ExportTo Funktion

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
mollilinux

lazreport ExportTo Funktion

Beitrag von mollilinux »

Hallo zusammen,

Habe ein Problem mit Lazreport der ExportTo Funktion. Habe lange gegoogled, bin auf türkische und Japanische Seiten gestossen. Doch dort wird immer dasselbe erwähnt:

Beispiel:

Code: Alles auswählen

FrReport1.ExportTo(frtextexport1 , 'Test.txt');
So sieht meine Funktion aus:

Code: Alles auswählen

procedure TForm1.MenuItem26Click(Sender: TObject);
begin
SaveDialog1.Filter := 'Textdatei |*.txt';
With SaveDialog1 do
   If Execute then
   FrReport1.ExportTo(frtextexport1, 'test.txt');
end;
Doch wenn ich diese Funktion anwenden will, dann gibt es Probleme (Lazarus Nachrichtenbox):

Code: Alles auswählen

Error: Incompatible type for arg no.1: Got "TfrTextExport",expected "TClass"
Hint: Found declaration: TfrReport.ExportTo(TClass,AnsiString)
Error: Wrong number of parameters specified for call to "ExportTo"
...

Ich hoffe Ihr könnt helfen.

knight
Beiträge: 802
Registriert: Mi 13. Sep 2006, 22:30

Beitrag von knight »

Habe lange gegoogled
Hast du auch mal einen Blick auf die mit Lazarus gelieferten Beispiele geworfen?
Offenbar ist der Text-Filter noch nicht richtig implementiert. Probiere mal den CSV-Filter aus.

knight

mollilinux

Beitrag von mollilinux »

Nun, ich habe den CSV Filter genommen und es probiert. Es kommt der Selbe Fehler wie oben und die Zusammenstellung der Funktion ist wie oben, natürlich nur test.xls und frcsvexport1. In den Lazarus Beispielen habe ich nichts gefunden zu diesem Thema.

Gibt es noch weitere Möglichkeiten?

Ich danke euch im Voraus

Benutzeravatar
theo
Beiträge: 10869
Registriert: Mo 11. Sep 2006, 19:01

Beitrag von theo »

Wie die Fehlermeldung sagt, musst du den Klassentypen angeben, keine Instanz.

FrReport1.ExportTo(TfrTextExportFilter, 'c:\test.txt');

Ob's dann auch wirklich tut, weiss ich nicht.

mollilinux

Beitrag von mollilinux »

Super es funktioniert mt dem CSV- und FrTextExporter! Doch ein Problem gibts noch. Habe PowerPDF installiert und eingerichtet. Doch wenn ich die Funktion mit dem TPReport aufnehmen will kommt eine Fehlermeldung: Acces violation... und der Vorgang wird abgebrochen.

Meine Funktion:

Code: Alles auswählen

procedure TForm1.MenuItem26Click(Sender: TObject);
var
pfad:String;
begin
  SaveDialog1.Filter:='PDF Dokument|*.pdf';
  With SaveDialog1 do
  begin
  If Execute then
  FrReport1.ExportTo(TPreport, 'test.pdf');
  end;
end;
Wenn ich dann das Programm aus der Textkonsole starte gibt das Programm folgenden Text aus.

Code: Alles auswählen

TApplication.HandleException Access violation
  Stack trace:
  $080962CC
  $0809634B
  $08083DBF  TFORM1__MENUITEM26CLICK,  line 772 of unit1.pas
  $0811EE97  TMENUITEM__CLICK,  line 74 of ./include/menuitem.inc
  $0811F4CD  TMENUITEM__DOCLICKED,  line 260 of ./include/menuitem.inc
  $080676D9
  $081EFA71  GTKACTIVATECB,  line 336 of /var/tmp/portage/dev-lang/lazarus-0.9.24/work/lazarus/lcl/interfaces/gtk/gtkcallback.inc
  $B7A59F6A
  $B7A4D95D
  $B7A5D469
  $B7A5E910
  $B7A5EABE
  $B7D36FDC
  $B7C3B5A7
  $B7C3CEA9
  $B7C34C5B
  $B7C2F415
Kann es sein, dass es am PDF Exporter liegt? Habt ihr eine Idee?

Antworten