property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only
type TPdfPageObjectEditTransactionStatus = record
Active: Boolean;
Dirty: Boolean;
PageNumber: Integer;
MutationCount: Integer;
ContentGenerationCount: Integer;
end;
| Active | True med BeginPageObjectEditTransaction in pripadajočo potrditvijo ali povrnitvijo |
| Dirty | True, takoj ko je znotraj transakcije zagnana vsaj ena mutacija |
| PageNumber | Stran, številčena od 1, na katero je bila transakcija ob začetku vezana |
| MutationCount | Uspešni klici UpdatePage, zabeleženi znotraj transakcije |
| ContentGenerationCount | Generiranja vsebine, izvedena ob potrditvi spremenjenih transakcij |
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
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
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;