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 配接器會在複製與讀取時強制執行;直接準備來源的呼叫端必須自行套用上限與取消原則