curtis
14小時前 10220027159dc90f19f7c62a7b84bb00c6453d4c
doc/curtis/Delphi_套件相依.md
@@ -1,12 +1,13 @@
# **相依套件分析報告**
本報告針對 ActiveX 元件核心實作檔 CB_IMGPSScanImp.pas 進行功能解構,並分析其與第三方套件的綁定關係,以作為後續維護或現代化升級之參考。
本報告針對 ActiveX 元件核心實作檔 CB_IMGPSScanImp.pas.bk 進行功能解構,並分析其與第三方套件的綁定關係,以作為後續維護或現代化升級之參考。
## **壹、 依功能拆分模組與第三方套件綁定分析**
根據原始碼結構,CB_IMGPSScanImp.pas 是一個將介面、硬體、網路與業務邏輯高度耦合的「上帝物件 (God Object)」。若要進行重構或拆件,建議依據以下五個核心模組進行解耦:
根據原始碼結構,CB_IMGPSScanImp.pas.bk 是一個將介面、硬體、網路與業務邏輯高度耦合的「上帝物件 (God Object)」。若要進行重構或拆件,建議依據以下五個核心模組進行解耦:
### **1. 硬體掃描控制模組 (Scanner Controller)**
detail: [Scanner_Controller_Analysis.md](Scanner_Controller_Analysis.md)
- **功能描述**:負責與實體掃描機溝通,處理 TWAIN 介面初始化、設定掃描參數(DPI、色彩、雙面)、觸發掃描指令,以及接收掃描完成的記憶體影像 (DibHandle)。
- **子模組細分建議**:
@@ -19,6 +20,7 @@
  - 依賴 EnMisc 處理底層記憶體或雜項運算。
### **2. 影像處理與轉換模組 (Image Processor)**
detail: [Image_Processer_Analysis.md](Image_Processer_Analysis.md)
- **功能描述**:負責對擷取到的原始影像進行後製處理,包括:裁切(如 A3 裁 A4)、去斜 (Deskew)、旋轉、二值化 (轉黑白)、格式轉換 (轉 TIFF/JPEG),以及讀取影像上的條碼。
- **子模組細分建議**:
@@ -32,6 +34,7 @@
  - 依賴 **MPS Barcode** (mpsBarco, BarcodesFinder) 進行影像條碼掃描與解析。
### **3. 安全傳輸與 API 通訊模組 (Transport Manager)**
detail: [Transport_Manager_Analysis.md](Transport_Manager_Analysis.md)
- **功能描述**:負責將掃描並壓縮後的檔案上傳至伺服器,或從伺服器下載檔案。同時處理與後端 Java Servlet 的參數交換(如校時、取得 FTP 資訊、更新案件狀態)。
- **子模組細分建議**:
@@ -46,6 +49,7 @@
  - 依賴自訂/第三方加密庫 (Encryp) 處理字串加解密。
### **4. 業務邏輯與資料解析模組 (Business Logic & Parser)**
detail: [Business_Logic_Analysis.md](Business_Logic_Analysis.md)
- **功能描述**:專案核心的領域邏輯,包含接收網頁端傳入的參數字串進行解析、定義文件歸類邏輯(由條碼推導文件類型)、OMR (光學標記辨識) 檢核定義等。
- **子模組細分建議**:
@@ -59,6 +63,7 @@
  - 依賴 **VCLZip** (VCLZip, VCLUnZip) 將多個影像檔打包成 ZIP 進行單一傳輸。
### **5. UI 與介面呈現模組 (UI View)**
detail: [UI_View_Analysis.md](UI_View_Analysis.md)
- **功能描述**:負責 ActiveX 控制項的視覺化介面,包含左側的樹狀文件清單 (TreeView)、右側的影像預覽區 (ScrollBox),以及按鈕與多國語言切換。
- **子模組細分建議**: