THPDFWindowsFormDataSource
HPDFWindowsFormData tillhandahåller en ägd Windows-slumpåtkomstkälla med en privat temporärfils livslängd
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 reserverar exklusivt en unik temporär fil och exponerar dess skrivbara Stream; skriv den completa källan och anropa Seal en gång innan den lämnas till ett inläst dokument
Seal spolar och stänger det skrivbara handle:t och öppnar sedan filen på nytt för skrivskyddad åtkomst med skrivdelning nekad; den tar inte en godtycklig anroparsökväg som sin bakomliggande källa
GetSize rapporterar den completa aktuella strömlängden; ReadAt avvisar negativa offset eller antal, begränsar läsningen till tillgängliga byte, returnerar noll vid eller efter EOF och återställer strömläget vid framgång och fel
Ett dokument inläst med OwnSource=False lånar källan; håll den vid liv tills efter dokumentdestruktion; Destroy stänger handle:t och tar bort den ägda privata filen
Källan saknar oberoende avbrotts- eller bytekapacitet; transaktions- och återanropsadapterna tillämpar dem under kopiering och läsning; anropare som förbereder en källa direkt måste tillämpa egna gränser och avbrottspolicy