THPDFWindowsFormDataSource

HPDFWindowsFormData 提供自有生命週期繫於私有暫存檔的 Windows 隨機存取來源

THPDFWindowsFormDataSource = class(THPDFRandomAccessSource)
  constructor Create;
  destructor Destroy; override;
  procedure Seal;
  function GetSize: Int64; override;
  function ReadAt(Offset: Int64; var Buffer; Count: Longint): Longint; override;
  property Stream: TFileStream;
end;

Create 獨占保留一個唯一的暫存檔並暴露其可寫 Stream;寫入完整來源並呼叫 Seal 一次之後,才能供應給已載入文件

Seal 排清並關閉可寫控制代碼,然後以拒絕寫入共用的方式重新開啟檔案供唯讀存取;它不接受任意呼叫端路徑作為備援來源

GetSize 回報目前串流的完整長度;ReadAt 拒絕負偏移或負數量、把讀取限制在可用位元組內、在 EOF 處或之後回傳 0,並在成功與失敗時還原串流位置

以 OwnSource=False 載入的文件會借用此來源;請保持其存活直到文件解構之後;Destroy 關閉控制代碼並刪除自有的私有檔案

此來源沒有獨立的取消或位元組容量;交易與 callback 配接器會在複製與讀取時強制執行;直接準備來源的呼叫端必須自行套用上限與取消原則

交易類別、Windows 表單資料交換