property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only
type TPdfPageObjectEditTransactionStatus = record
Active: Boolean;
Dirty: Boolean;
PageNumber: Integer;
MutationCount: Integer;
ContentGenerationCount: Integer;
end;
| Active | True mellem BeginPageObjectEditTransaction og det tilhørende commit eller rollback |
| Dirty | True, så snart mindst én mutation er kørt inde i transaktionen |
| PageNumber | Én-baseret side, som transaktionen blev bundet til, da den startede |
| MutationCount | Successfulde UpdatePage-kald, der er registreret inde i transaktionen |
| ContentGenerationCount | Content-genereringer udført ved commit af dirty-transaktioner |
En sideobjekt-redigeringstransaktion udskyder den native content-generering, så sideobjekt-insert-, remove-, transform-, egenskabs-, content-mark- og annotationsudseende-mutationer anvendes som én atomar side-afgrænset operation. Denne egenskab eksponerer dens live-tilstand til guards og diagnostik
MutationCount tæller op ved hver successfuld udskudt mutation, og hver sådan mutation invaliderer også side-cacherne, så intet forældet render, snapshot eller thumbnail overlever redigeringen
Commit af en dirty-transaktion regenererer sideindholdet én gang og tæller ContentGenerationCount op. Commit af en no-op-transaktion eller rollback gendanner baseline-snapshotet uden generering
Commit og rollback rydder Active og Dirty, men efterlader PageNumber og begge tællere som endelig diagnostik, indtil den næste transaktion starter og nulstiller dem
Uden for en transaktion holder hvert felt sin standardværdi, så Active = False er den pålidelige inaktivitetstest
Statussen dækker kun sideobjekt-transaktioner; dokumentniveau-transaktioner, der åbnes med BeginEditTransaction, rapporteres af edit-journalen
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;