Hallo,
im Footer einer Tabelle habe ich ein Feld eingefügt, welches die Seitensumme berechnet:
field := Cell.AppendNewObject(wpobjTextObject, false, false, HiddenText);
field.Name := 'PAINT_CALC';
field.Source := 'Seitensumme';
Füge ich viele Zeilen (z.B. 200) in die Tabelle ein, sind danach wie gewünscht alle Seitensummen vorhanden.
Benutze ich die gleiche Felddefinition in einer Zelle einer Datenzeile, werden nicht alle Seitensummen berechnet, erst wenn man langsam durch das Dokument scrollt.
Das gleiche Verhalten habe ich wenn das Feld im SeitenFooter eingefügt wird.
Eigentlich möchte ich den Tabellenfooter gar nicht, aber die Zeilen-Höhe des Footers lässt sich nicht auf 0 setzen, sobald da irgendwo was drin steht.
Mit welcher Procedure bekomme ich die Seitensummen alle berechnet, wenn das Summenfeld z.B. in allen Seiten-Footern steht?
Reformat bringt keine Änderung, das Beispiel in WPReporter_Calc berechnet nur eine absolute Gesamtsumme über alle Seiten...
Danke für Hinweise
Ciao
Stefan
Nachtrag:
Ich durchlaufe alle MergeFields im OnPaintCalc:
oc := page.EmbeddedObjectCount([wpobjMergeField]);
for j := 0 to oc - 1 do
begin
obj := page.EmbeddedObjectGet(j);
oc ergibt 1 beim Debuggen, aber der Zugriff auf page.EmbeddedObjectGet(0) bringt Laufzeitfehler Index 0 außerhalb des gültigen Bereichs!
Das ObjectCount also findet ein solches MergeField, was dann aber nicht vorhanden ist...
In der Demo wird page.EmbeddedObjectCount([wpobjTextObject]) durchlaufen, liegt da der Fehler?