THPDFXRefIntegrityInfo レコード
クロスリファレンステーブルの健全性。エントリ数、フリーチェーンの状態、不正タイプ、重複、影子定義を扱います
宣言
THPDFXRefIntegrityInfo= record
EntryCount: Integer;
FreeEntryCount: Integer;
FreeChainLength: Integer;
UnlinkedFreeEntryCount: Integer;
InvalidFreeLinkCount: Integer;
FreeCycleCount: Integer;
InvalidEntryTypeCount: Integer;
GenerationTransitionErrorCount: Integer;
DuplicateDefinitionCount: Integer;
ShadowedDefinitionCount: Integer;
DroppedShadowedDetailCount: Integer;
Valid: boolean;
Diagnostic: AnsiString;
ShadowedEntries: THPDFXRefShadowedEntryArray;
end;
ユニット
HPDFDoc
フィールド
| フィールド | 目的 |
|---|---|
EntryCount | 統合済みクロスリファレンスセクション全体のエントリ総数。0 は整合性データがないことを意味します |
FreeEntryCount | フリー(タイプ f)とマークされたエントリの数 |
FreeChainLength | オブジェクト 0 から辿れるフリーリストチェーンの長さ |
UnlinkedFreeEntryCount | 存在するのにフリーチェーン経由で辿れないフリーエントリの数 |
InvalidFreeLinkCount | /Next 方式のリンクが非フリーエントリを指しているフリーエントリの数 |
FreeCycleCount | フリーチェーンを辿る途中で検出された循環の数 |
InvalidEntryTypeCount | タイプバイトが使用中でもフリーでもないエントリの数 |
GenerationTransitionErrorCount | 世代番号が mod-65536 の規則を破る、使用中からフリーへの遷移の数 |
DuplicateDefinitionCount | リビジョン間で 2 回以上定義されたオブジェクト番号の数 |
ShadowedDefinitionCount | 古いコピーが最新リビジョンに負けた重複定義の数 |
DroppedShadowedDetailCount | 詳細全体を ShadowedEntries に保持できなかった影子エントリの数 |
Valid | 統合済みテーブルが全構造チェックに通ったとき True |
Diagnostic | 最初に見つかった問題の種類を説明するテキスト |
ShadowedEntries | 影子定義のエントリごとの詳細。有効側と影子側のタイプ、オフセット、世代、リビジョンを含みます |
使用上の注意
GetLoadedXRefIntegrityInfoで値を埋めます。ロード済みドキュメントが整合性スキャンを生成していなければ false を返しますFreeCycleCountとInvalidFreeLinkCountが 0 を超えるなら、インクリメンタル保存の前にフリーリストの修復が必要ですShadowedEntriesはShadowedDefinitionCountの裏付けとなる記録です。THPDFXRefMergeInfoと組み合わせると、どのリビジョンの優先順位で勝者が決まったかが分かります