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-Quellcode:
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