Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Som nämnts i Översikt över bläckanalysunderhåller bläckanalystekniken internt en trädbaserad dokumentmodell som innehåller analysresultat och relationer. Om ditt program redan har ett etablerat dokumentarkiv som är annorlunda måste du använda funktionerna för pennanteckningsanalys som är utformade för att proxydata mellan olika dokumentmodeller.
Typer av dataproxy
Med dataproxyfunktionerna kan ditt program:
- Integrera analysresultatdata i en befintlig dokumentmodell.
- Kommunicera tidigare resultat (eller tillstånd) tillbaka till InkAnalyzer-.
- Kommunicera icke-bläcktillstånd till InkAnalyzer-.
- Kommunicera endast den minsta uppsättning data (både tidigare och icke-bläcktillstånd) som krävs för att slutföra analysåtgärden.
- Uppdatera enkelt den interna programdokumentmodellen med analysresultat.
Det finns två grundläggande metoder för dataproxy för pennanteckningsanalys. Skillnaderna ligger i informationen om när och hur synkroniseringen mellan dokumentmodellerna sker. Den första metoden, synkron uppdatering, kräver att dokumentmodellen för pennanteckningsanalys ändras när ändringar sker i programdokumentet. Den andra metoden, uppdatering på begäran, kräver att endast data som påverkas av ändringar i programdokumentmodellen skickas till InkAnalyzer-. Det vill: endast data för de delar av dokumentmodellen för pennanteckningsanalys som finns i samma område som ändringar i programdokumentet behöver skickas till InkAnalyzer- eftersom de behövs.
Synkron uppdatering
Synkron uppdateringsmetod kräver modifiering (skapande och borttagning) av noder i InkAnalyzer objektets samling av ContextNode objekt när de inträffar i programdokumentet. Varje gång ett textord till exempel läggs till i programmet skapas en motsvarande TextWord format ContextNode i InkAnalyzer-. Om textordets plats på sidan ändras uppdateras platsen för motsvarande ContextNode samtidigt. Den här metoden är mindre effektiv när det gäller beräkningsresurser än metoden på begäran eftersom varje dokumentändring innebär en uppdatering av InkAnalyzer-, även om ändringen inte påverkar pennanteckningen som analyseras.
Följande exempel är avsett att visa hur synkron uppdatering fungerar. Föreställ dig ett program som har en befintlig dokumentmodell. När slutanvändaren gör en ändring i dokumentet, som att lägga till ny text, bearbetas ändringen på följande sätt:
- Slutanvändaren skapar nya data.
- Programmet bestämmer hur data ska bearbetas, lagras och återges.
- I praktiken sker följande åtgärder samtidigt.
- Programmet placerar data i sin dokumentmodell.
- Programmet skapar en InkAnalyzer- och uppdaterar den. Detta säkerställer samtidigt att InkAnalyzer alltid har den senaste informationen.
- Programmet anropar BackgroundAnalyze på InkAnalyzer- för att påbörja analysen.
- En serie händelser utlöses om ändringen omfattar pennanteckning och InkAnalyzer fastställer nya resultat. En händelse utlöses för varje ändring som görs i samlingen ContextNode objekt i InkAnalyzer-. Dessa händelser omfattar ContextNodeCreated, ContextNodeDeleting, ContextNodeMovingToPosition, ContextNodePropertiesUpdated, ContextNodeLinkAdding, ContextNodeLinkDeletingoch ContextNodeReparenting. Programmet hanterar dessa händelser för att skicka analysåtgärdens resultat tillbaka till dokumentmodellen efter behov.
- Programmet uppdaterar layouten för dokumentet och hämtar nya data från dokumentmodellen.
- De nya data återges tillbaka till slutanvändaren.
Uppdatering på begäran
Metoden på begäran kräver bara att data skickas för de ContextNode objekt som finns i de områden som analyseras. De nödvändiga ContextNode- objekt extraheras från programmets dokumentmodell strax efter att analysåtgärden anropats och igen precis innan resultaten förenas. Även om det är mer komplicerat att implementera än synkrona uppdateringar ger den här metoden bättre prestandaresultat.
Relaterade ämnen
-
översikt över pennanteckningsanalys