PDFium Delphi Component Docs

PageObjectEditTransactionStatus-ominaisuus

Component: TPdf  ·  Unit: PDFium
Raportoi, onko sivuobjektien muokkaustapahtuma käynnissä ja kuinka pitkälle se on edennyt

Syntax

property PageObjectEditTransactionStatus: TPdfPageObjectEditTransactionStatus; // read only

 

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

ActiveTosi BeginPageObjectEditTransaction-kutsun ja siihen kuuluvan commitin tai rollbackin välillä
DirtyTosi, kun vähintään yksi muutos on suoritettu tapahtuman sisällä
PageNumber1-pohjainen sivu, johon tapahtuma sidottiin alkaessaan
MutationCountTapahtuman sisällä kirjatut onnistuneet UpdatePage-kutsut
ContentGenerationCountSisällön generoinnit, jotka suoritettiin muutoksia sisältävien tapahtumien commitoinnissa

Description

Sivuobjektien muokkaustapahtuma lykkää natiivia sisällön generointia niin, että sivuobjektien lisäys-, poisto-, muunnos-, ominaisuus-, sisältömerkintä- ja merkintäulkoasumuutokset toteutuvat yhtenä atomisena sivukohtaisena operaationa. Tämä ominaisuus paljastaa sen ajankohtaisen tilan suojauksia ja diagnostiikkaa varten

MutationCount kasvaa jokaisen onnistuneen lykätyn muutoksen myötä, ja jokainen tällainen muutos mitätöi myös sivuvälimuistit, joten mikään vanhentunut renderöinti, tilannevedos tai pikkukuva ei selviä muokkauksesta

Muutoksia sisältävän tapahtuman commitointi generoi sivun sisällön kerran ja kasvattaa ContentGenerationCount-arvoa. Muutoksettomman tapahtuman commitointi tai rollback palauttaa perustilan ilman generointia

Remarks

Commit ja rollback tyhjentävät Active- ja Dirty-liput mutta jättävät PageNumber-arvon ja molemmat laskurit lopullisiksi diagnostiikkatiedoiksi, kunnes seuraava tapahtuma alkaa ja nollaa ne

Tapahtuman ulkopuolella jokainen kenttä pitää oletusarvoaan, joten Active = False on luotettava joutotilan testi

Tila kattaa vain sivuobjektitapahtumat; BeginEditTransaction-kutsulla avatut dokumenttitason tapahtumat raportoi muokkausloki

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