PDFium Delphi Component Docs

PageObjectEditTransactionStatus lastnost

Component: TPdf  ·  Unit: PDFium
Poroča, ali je transakcija urejanja predmetov strani dejavna in kako daleč je napredovala

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

type TPdfPageObjectEditTransactionStatus = record
  Active: Boolean;
  Dirty: Boolean;
  PageNumber: Integer;
  MutationCount: Integer;
  ContentGenerationCount: Integer;
end;

ActiveTrue med BeginPageObjectEditTransaction in pripadajočo potrditvijo ali povrnitvijo
DirtyTrue, takoj ko je znotraj transakcije zagnana vsaj ena mutacija
PageNumberStran, številčena od 1, na katero je bila transakcija ob začetku vezana
MutationCountUspešni klici UpdatePage, zabeleženi znotraj transakcije
ContentGenerationCountGeneriranja vsebine, izvedena ob potrditvi spremenjenih transakcij

Description

Transakcija urejanja predmetov strani odloži izvorno generiranje vsebine, tako da se mutacije vstavljanja, odstranjevanja, preoblikovanja, lastnosti, oznak vsebine in videzov pripomb uveljavijo kot ena atomska operacija, obsežena na stran. Ta lastnost izpostavi njeno trenutno stanje za varovalke in diagnostiko

MutationCount se poveča ob vsaki uspešni odloženi mutaciji, vsaka taka mutacija pa razveljavi tudi predpomnilnike strani, tako da po urejanju ne preživi noben star izris, posnetek ali sličica

Potrditev spremenjene transakcije enkrat znova generira vsebino strani in poveča ContentGenerationCount. Potrditev transakcije brez mutacij ali povrnitev obnovi izhodišče brez generiranja

Remarks

Potrditev in povrnitev počistita Active in Dirty, PageNumber in oba števca pa pustita kot končno diagnostiko, dokler se ne začne naslednja transakcija in ju ne ponastavi

Zunaj transakcije ima vsako polje privzeto vrednost, zato je Active = False zanesljiv test mirovanja

Stanje pokriva samo transakcije predmetov strani; transakcije na ravni dokumenta, odprte s BeginEditTransaction, poroča dnevnik urejanja

Example

Pdf.BeginPageObjectEditTransaction;
try
  Pdf.TransformPageObject(0, Matrix);
  Status := Pdf.PageObjectEditTransactionStatus;
  LogTransactionProgress(Status.MutationCount, Status.Dirty);
  Pdf.CommitPageObjectEditTransaction;
except
  if Pdf.PageObjectEditTransactionStatus.Active then
    Pdf.RollbackPageObjectEditTransaction;
  raise;
end;

See Also

PageObjectEditTransaction, BeginEditTransaction, CommitEditTransaction, RollbackEditTransaction, UpdatePageObject