folgendes Zenario:
Ich erzeuge per Export nach PDF Abbilder einer LBL-Datei.
Bei ca. 70 Seiten/Dateien steigt der Speicherbedarf pro Datei um ca. 2500 kb, so dass am Ende ca. 180000 kb Speicher nicht freigegben sind.
Die Folge ist, dass danach ein Erzeugen eines Com-Objects nicht mehr möglich ist (Dokumentenviewer).
Nur Neustart des Programms hilft.
Gibt es irgendeine Möglichkeit/Funktionen in L&L, Speicher freizugeben ?
Die Ausgaberoutine ist hier mal extrahiert (vereinfacht):
Code: Alles auswählen
LL26ModuleInit()
hJob := LlJobOpen(-1)
LlDefineVariableStart(hJob)
** Globale Einstellungen
LlSetOptionString(hJob, LL_OPTIONSTR_LICENSINGINFO, LL_LIZENZKEY)
LlSetOption(hJob, LL_OPTION_ESC_CLOSES_PREVIEW, .T.)
LlSetOption(hJob, LL_OPTION_SCALABLEFONTSONLY, 0)
LlSetOption(hJob, LL_OPTION_COMPRESSSTORAGE, .F.)
*************
DefineDataTou(hJob)
*************
nRet := LlPrintStart(hJob, LL_PROJECT_LABEL, cLangName, LL_PRINT_EXPORT)
** Projektspezifische Einstellungen
LlPrintSetOptionString(hJob, LL_PRNOPTSTR_EXPORT, "PDF")
LlPreviewSetTempPath(hJob, M->oFVW:FvwLocalTmpPath)
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Path", ConvToAnsiCP(Trim(M->oFVW:FvwLocalTmpPath)))
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.File", ConvToAnsiCP(cExpDatei))
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Quiet", "1")
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.ShowResult", "0")
nRet := LlPrint(hJob)
do while nRet == LL_WRN_REPEAT_DATA
nRet := LlPrint(hJob)
enddo
nRet := LlPrintEnd(hJob, 0)
LlJobClose(hJob)
LL26ModuleExit()