THPDFWindowsFormDataSource
HPDFWindowsFormData proporciona una fuente de acceso aleatorio de Windows propia con un ciclo de vida de archivo temporal privado
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 reserva en exclusiva un archivo temporal único y expone su Stream escribible; escriba la fuente completa y llame a Seal una vez antes de suministrarlo a un documento cargado
Seal vuelca y cierra el handle escribible, y luego reabre el archivo para acceso de solo lectura con el uso compartido de escritura denegado; no acepta una ruta arbitraria del llamador como fuente de respaldo
GetSize informa la longitud completa actual del stream; ReadAt rechaza offsets o counts negativos, limita la lectura a los bytes disponibles, devuelve cero en o más allá de EOF, y restaura la posición del stream en éxito y fallo
Un documento cargado con OwnSource=False toma prestada la fuente; manténgala viva hasta después de la destrucción del documento; Destroy cierra el handle y elimina el archivo privado propio
La fuente no tiene cancelación ni capacidad de bytes independientes; los adaptadores de transacción y callback las imponen mientras copian y leen; los llamadores que preparan una fuente directamente deben aplicar sus propios límites y política de cancelación
Clase de transacción, Intercambio de datos de formulario Windows