From 524eea3312ebc07fd6e1dc94594d33c6a69d5ef5 Mon Sep 17 00:00:00 2001
From: curtis <curtis@i-mps.com>
Date: 星期二, 31 三月 2026 09:32:51 +0800
Subject: [PATCH] fix: 型別更新 1) 新增 TShape, TMemo, TMenuItem, TImageScrollBox 2) 理清 Delphi 相依使用: IISUnit, MPSBarcode, IISImageProcess 3) 方法說明/Mermaid 生成

---
 reassemble/CB_IMGPSScanImp.lfcycle.pas |   56 +++++++++++++++++++++++++++++++++-----------------------
 1 files changed, 33 insertions(+), 23 deletions(-)

diff --git a/reassemble/CB_IMGPSScanImp.lfcycle.pas b/reassemble/CB_IMGPSScanImp.lfcycle.pas
index 30e973a..bb4c0ee 100644
--- a/reassemble/CB_IMGPSScanImp.lfcycle.pas
+++ b/reassemble/CB_IMGPSScanImp.lfcycle.pas
@@ -80,12 +80,14 @@
 
 
 { ==============================================================================
-  方法名稱:DestroyEvent
-  引用相依:_DelTree
-  方法描述:銷毀元件時的清理工作。負責釋放大量的 TStringList 物件,包含各類資訊清
-            單(表單、規則、註記、工作、影像路徑、條碼等)。針對特定模式(DSCAN/ESCAN),若
-             ImagePath 不為空則刪除該目錄及其子目錄。最後觸發 COM 介面的 OnDestro
-            y 事件。
+  方法名稱 : DestroyEvent
+  引用相依 : _DelTree
+  方法描述 : 【元件銷毀與資源釋放】
+             這是控制項卸載時的關鍵清理程序。
+             1. 內存釋放:逐一釋放數十個 TStringList 清單物件,避免記憶體洩漏。
+             2. 暫存清理:針對重掃 (DSCAN) 與補件 (ESCAN) 模式,自動刪除本地的 
+                ImagePath 暫存目錄。
+             3. 事件通知:觸發 COM 介面的 OnDestroy,通知容器元件已移除。
 ============================================================================== }
 procedure TCB_IMGPSScanX.DestroyEvent(Sender: TObject);
 begin
@@ -183,11 +185,13 @@
 
 
 { ==============================================================================
-  方法名稱:ActiveFormCreate
-  引用相依:
-  方法描述:ActiveForm 建立時的初始化處理。發送啟動訊息、設定預設檢視模式並初始化
-            影像顯示區域。遍歷所有影像捲軸盒(ISB),設定預設滑鼠模式為 mmUser 並將
-            縮放模式設為全頁顯示,最後延遲啟動 Timer。
+  方法名稱 : ActiveFormCreate
+  引用相依 : TImageScrollBox, Timer1
+  方法描述 : 【ActiveForm 初始化啟動】
+             在控制項建立後執行初步 UI 配置。
+             1. 元件校正:遍歷 8 個影像顯示容器,重置其滑鼠模式與縮放倍率。
+             2. 非同步啟動:開啟 Timer1 執行後續耗時的伺服器資料同步作業,
+                以確保 UI 不會因網路請求而產生長時間凍結。
 ============================================================================== }
 procedure TCB_IMGPSScanX.ActiveFormCreate(Sender: TObject);
 var IScrollBox : TImageScrollBox;
@@ -224,11 +228,14 @@
 
 
 { ==============================================================================
-  方法名稱:InitialLanguage
-  引用相依:
-  方法描述:元件多國語言初始化核心函式。讀取 Language.Lng 設定檔,根據指定的語系遞
-            迴設定畫面上所有控制項(按鈕、選單、標籤、清單、群組框等)的 Caption 或 Hi
-            nt 文字,實現介面語系動態切換。
+  方法名稱 : InitialLanguage
+  引用相依 : TMeminifile, LngPath
+  方法描述 : 【介面語言動態載入】
+             根據全域變數 FLanguage 讀取 Language.Lng 設定檔。
+             1. 遍歷元件:使用 RTTI 遍歷畫面上所有的 Button, Label, MenuItem, 
+                ListView 等控制項。
+             2. 標籤映射:依據「表單名.控制項名」從 INI 讀取對應語系字串。
+             3. 介面更新:即時套用至 Caption 或 Hint,實現無縫的多國語言切換。
 ============================================================================== }
 procedure TCB_IMGPSScanX.InitialLanguage(Sender: TObject);
 var
@@ -310,13 +317,16 @@
 
 
 { ==============================================================================
-  方法名稱:Timer1Timer
-  引用相依:FJpgCompression, GetLocalAppDir, Str2Dir, _DelTree, FileExists, init
-            kscan
-  方法描述:OCX 元件初始化的核心程序。負責從伺服器下載各類基礎資訊(業務、表單、文件
-            、檢核規則、常用片語、系統參數等),並設定本地暫存路徑(ScanTemp)。針對異動
-            或重掃模式,會自動建立空案件並下載既有影像。最後執行各類屬性與語系設定
-            ,確保掃描環境就緒。
+  方法名稱 : Timer1Timer
+  引用相依 : API 系列 (GetSetInf), ImagePath, InitialLanguage, LoadImgFile
+  方法描述 : 【系統啟動與環境同步核心邏輯】
+             這是 OCX 載入後最重要的初始化階段。
+             1. 模式判定:根據 FMode 開關特定的 UI 功能按鈕(如補件、傳送)。
+             2. 規格下載:調用 api.pas 的系列方法獲取最新的表單、規則與全域參數。
+             3. 暫存路徑建立:根據單位、模式動態產生實體磁碟目錄 (Scantemp)。
+             4. 業務初始化:若為異動/重掃模式,執行既有影像下載 (DownLoadImage) 
+                與目錄預建。
+             5. 載入影像:完成所有規格同步後,正式執行 LoadImgFile 呈現案件內容。
 ============================================================================== }
 procedure TCB_IMGPSScanX.Timer1Timer(Sender: TObject);
 var

--
Gitblit v1.8.0