Hoher Speicherverbrauch für SAVEASPDF

12. März 2015 09:31

Hallo Community,
Um unsere Verkaufsrechnungen zu archivieren wollen wir die Möglichkeit SAVEASPDF des Rechnungsberichts nutzen und diese in einem Nachtjob (Job Qeue) über alle noch nicht archivierten Rechnungen laufen lassen. Das sind immer so ca. 500 - 800 PDFs die auf dem Service Tier gespeichert werden.

Jetzt schnellt die Speichernutzung der Job Qeue dabei in astronomische Höhen von ca. 1.5 GB Ram Verbrauch bei 500 PDFs.
Die Job Qeue läuft in einer eigenen Instanz.

Der Code ist der folgende:

Code:
SalesInvoiceHeader_LT.SETRANGE(Archived,FALSE);
IF SalesInvoiceHeader_LT.FINDSET THEN BEGIN
  REPEAT
    CLEAR(PrintSalesInvoice_LR);
    PrintSalesInvoiceHeader_LT.GET(SalesInvoiceHeader_LT."No.");
    PrintSalesInvoiceHeader_LT.SETRECFILTER;
    PrintSalesInvoice_LR.SETTABLEVIEW(PrintSalesInvoiceHeader_LT);
    IF PrintSalesInvoice_LR.SAVEASPDF('E:\Rechnungsarchiv\'+PrintSalesInvoiceHeader_LT."No."+'.pdf') THEN BEGIN
      PrintSalesInvoiceHeader_LT.GET(SalesInvoiceHeader_LT."No.");
      PrintSalesInvoiceHeader_LT.Archived := TRUE;
      PrintSalesInvoiceHeader_LT."Archived At" := CURRENTDATETIME;
      IF PrintSalesInvoiceHeader_LT.MODIFY THEN;
      Count_L += 1;
    END;
    CLEAR(PrintSalesInvoice_LR);
  UNTIL (SalesInvoiceHeader_LT.NEXT = 0);
END;


Meine Frage ist: Kann ich den Speicherverbrauch optimieren? Die genrierten PDFs sind auf der Festplatte nur 30 KB groß, aber der Speicherhunger der Jobqeue ist riesig.

Grüße,
Thomas

Re: Hoher Speicherverbrauch für SAVEASPDF

13. März 2015 11:27

Hi Thomas,

blöde Frage, aber druckt Ihr mit Logo?
wurde der Report optimiert - zwecks Logo im Dataset - wenn nicht, dann unbedingt durchführen.

Re: Hoher Speicherverbrauch für SAVEASPDF

13. März 2015 12:24

sweikelt hat geschrieben:Hi Thomas,

blöde Frage, aber druckt Ihr mit Logo?
wurde der Report optimiert - zwecks Logo im Dataset - wenn nicht, dann unbedingt durchführen.


Danke für deine Antwort.
Ja, wir drucken mit Logo. Aber das Logo ist im Report Layout hinterlegt, es wird nicht als BLOB o.ä. übergeben.
Von einem Problem dabei, habe ich noch nix mitbekommen. Hast du dazu eine Anleitung für die Optimierung?

Grüße,
Thomas

Re: Hoher Speicherverbrauch für SAVEASPDF

18. März 2015 21:38

Hallo Zusammen,

noch mal das Thema anschieben ..

Ich habe denselben Effekt. Was ist mit "Optimierung" gemeint ?

Viele Grüße
Hans-Dieter

Re: Hoher Speicherverbrauch für SAVEASPDF

19. März 2015 14:56

h-d.neuenfeldt hat geschrieben:Ich habe denselben Effekt. Was ist mit "Optimierung" gemeint ?


Ich denke, dass DataSet so klein wie nötig zu halten bzw. das zu transportierende Bild, nicht in jeder Zeile des DataSet's mit zu schleifen, sondern nur in der ersten Zeile und im Report via FIRST auszulesen. Das spart einiges an Speicher. Hilft nur mir nicht :-D da wir eingebettete Bilder haben, die nicht im DataSet enthalten sind.