Autor Beitrag
Mr.Floppy81
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Di 01.02.05 12:09 
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:
ausblenden 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/