From 615f4a5b398f41092e6a81b45982377fcb607121 Mon Sep 17 00:00:00 2001 From: csh Date: Tue, 9 Jul 2024 13:32:16 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AF=B9=E5=8D=95=E4=BE=8B?= =?UTF-8?q?=E7=B1=BB=E7=9A=84=E5=86=85=E5=AD=98=E9=87=8A=E6=94=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TSDocxToPdf.tsf | 1 + utils/TSPdfSingletonKit.tsf | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/TSDocxToPdf.tsf b/TSDocxToPdf.tsf index 3fc2bc9..a8e6a8a 100644 --- a/TSDocxToPdf.tsf +++ b/TSDocxToPdf.tsf @@ -58,6 +58,7 @@ end; function TSDocxToPdf.Destroy(); begin removeDir("", cache_path_); + class(TSPdfSingletonKit).Release(docx_components_); end; function TSDocxToPdf.SaveToFile(alias: string; file: string): integer; diff --git a/utils/TSPdfSingletonKit.tsf b/utils/TSPdfSingletonKit.tsf index e0dfe7e..5ea727f 100644 --- a/utils/TSPdfSingletonKit.tsf +++ b/utils/TSPdfSingletonKit.tsf @@ -1,6 +1,7 @@ type TSPdfSingletonKit = class public function Create(); + class function Release(components: Components); class function GetComponent(components: Components; type: string); public hash_: array of tslobj; @@ -14,6 +15,11 @@ begin hash_ := array(); end; +class function TSPdfSingletonKit.Release(components: Components); +begin + singleton_.hash_[components] := nil; +end; + class function TSPdfSingletonKit.GetComponent(components: Components; type: string); begin if not ifObj(singleton_) then singleton_ := new TSPdfSingletonKit();