Moin,
hoffe ich treffe auf einen Spezialisten der sich mit tekrtf-Komponente auskennt und mir weiterhelfen kann.
Ich lade ein Stringgrid über ein ADO-Query
Dieses Stringrid hat 6 Spalten und je nach Query-Abfrage eine unterschiedliche Zeilenanzahl.
Dieses Stringgrid möchte ich nun drucken, doch wird mir ständig die Fehlermeldung:
"im Projekt1 ist eine Exception der Klasse Eillegalfunctionuse aufgetreten. Meldung:"illegal function use: Spalte(1)-number of arguments is more than maximm allowed" rozess wurde angehalten...."
Das Stringgrid befindet sich bei mir auf dem Formular2, der Drucken Knopf auf Formular1.
Folgendes habe ich im *.rtf Formular eingetragen:
| Zitat: |
Artikel Menge Verlust Halteleistung Faktor SummeVerluste
\Scan(), while(strgrid1())\
\Spalte(0)\ \Spalte(1)\ \Spalte(2)\ \Spalte(3)\ \Spalte(4)\\Spalte(5)\
\endscan, incZeile()\
|
im Quellcode steht folgendes:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29:
| var Gridrow:longint;
procedure Thaupt1.Drucken1Click(Sender: TObject); begin GridRow:=1; ekrtf1.clearvars; ekrtf1.ExecuteOpen ([],sw_show); end;
procedure Thaupt1.EkUDFList1Functions0Calculate(Sender: TObject; Args: TEkUDFArgs; ArgCount: Integer; UDFResult: TObject); begin TEkReportVariable(UDFResult).AsBoolean:=false; If GridRow<haupt2.StringGrid1.RowCount then TEkReportVariable(UDFResult).AsBoolean:=true; end;
procedure Thaupt1.EkUDFList1Functions1Calculate(Sender: TObject; Args: TEkUDFArgs; ArgCount: Integer; UDFResult: TObject); begin TEkReportVariable(UDFResult).AsString:=haupt2.StringGrid1.Cells[TEkReportVariable(Args[0]).AsInteger,GridRow]; end;
procedure Thaupt1.EkUDFList1Functions2Calculate(Sender: TObject; Args: TEkUDFArgs; ArgCount: Integer; UDFResult: TObject); begin Inc(GridRow); end; |
Hat vielleicht jemand schonmal das gleiche Problem gehabt und kann mir helfen??
LG Andreas
PS: Diese Komponente ermöglicht es einfach Daten in Word einzufügen, ohne gross etwas zu programmieren. Man findet diese Komponente hier:
ekrtf.code.net.ru/