THPDFWindowsFormDataSource
HPDFWindowsFormData fornisce una sorgente Windows ad accesso casuale di proprietà della libreria con un ciclo di vita su file temporaneo privato
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 riserva in modo esclusivo un file temporaneo unico ed espone il suo Stream scrivibile; scrivere la sorgente completa e chiamare Seal una volta prima di fornirla a un documento caricato
Seal scarica e chiude l'handle scrivibile, poi riapre il file per accesso di sola lettura negando la condivisione in scrittura; non accetta un percorso arbitrario del chiamante come sorgente sottostante
GetSize riporta la lunghezza corrente completa dello stream; ReadAt rigetta offset o conteggi negativi, limita la lettura ai byte disponibili, restituisce zero a EOF o oltre, e ripristina la posizione dello stream in successo e fallimento
Un documento caricato con OwnSource=False prende in prestito la sorgente; tenerla viva fino a dopo la distruzione del documento; Destroy chiude l'handle e rimuove il file privato di proprietà
La sorgente non ha cancellazione o capacità di byte indipendenti; gli adapter di transazione e callback le impongono durante copia e lettura; i chiamanti che preparano una sorgente direttamente devono applicare i propri limiti e la propria politica di cancellazione