THPDFWindowsFormDataSource
HPDFWindowsFormData dostarcza posiadane natywne źródło dostępu losowego Windows z prywatnym cyklem życia pliku tymczasowego
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 wyłącznie rezerwuje unikalny plik tymczasowy i udostępnia swój zapisywalny Stream; napisz kompletne źródło i wywołaj Seal raz przed dostarczeniem go do załadowanego dokumentu
Seal flushuje i zamyka zapisywalny handle, a następnie ponownie otwiera plik do odczytu z odmową współdzielenia zapisu; nie przyjmuje dowolnej ścieżki wywołującego jako źródła podkładowego
GetSize raportuje kompletną bieżącą długość strumienia; ReadAt odrzuca ujemne offsety i liczby, ogranicza odczyt do dostępnych bajtów, zwraca zero na EOF i dalej oraz przywraca pozycję strumienia przy sukcesie i awarii
Dokument załadowany z OwnSource=False pożycza źródło; utrzymuj je przy życiu aż po zniszczenie dokumentu; Destroy zamyka handle i usuwa posiadany prywatny plik
Źródło nie ma własnego anulowania ani pojemności bajtów; adaptery transakcji i callbacków wymuszają je podczas kopiowania i czytania; wywołujący przygotowujący źródło bezpośrednio muszą zastosować własne granice i politykę anulowania