THPDFWindowsFormDataSource
HPDFWindowsFormData levert een owned Windows random-access-bron met een privé-tijdelijk-bestand-levensduur
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 reserveert exclusief een uniek tijdelijk bestand en legt diens schrijfbare Stream bloot; schrijf de complete bron en roep Seal één keer aan voordat je hem aan een geladen document doorgeeft
Seal flußt en sluit het schrijfbare handle en heropent daarna het bestand voor read-only-toegang met write sharing geweigerd; hij neemt geen willekeurig aanroepers-pad als backing-bron
GetSize rapporteert de complete huidige streamlengte; ReadAt verwerpt negatieve offsets of aantallen, beperkt de read tot beschikbare bytes, geeft nul terug op of voorbij EOF en herstelt de streampositie bij succes en falen
Een document geladen met OwnSource=False leent de bron; houd hem in leven tot na documentdestructie; Destroy sluit het handle en verwijdert het owned privé-bestand
De bron heeft geen onafhankelijke annulering of bytecapaciteit; de transactie- en callback-adapters handhaven die tijdens kopiëren en lezen; aanroepers die direct een bron voorbereiden, moeten diens eigen grenzen en annuleringsbeleid toepassen