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

Klasa transakcji, Wymiana form-data Windows