GetStringListCount
その他の関数
説明
別の API 関数が作成した文字列リストに格納されている文字列数を返します 最も一般的な生成元は CheckFileCompliance で、検証済みドキュメントで見つかった適合性問題を項目に列挙する非ゼロの StringListID を返します
構文
Delphi
Function TPDFlib.GetStringListCount(StringListID: Integer): Integer;
ActiveX
Function PDFlib::GetStringListCount(StringListID As Long) As Long
DLL
int DLGetStringListCount(int InstanceID, int StringListID);
パラメータ
| StringListID | CheckFileCompliance などの生成関数が返した文字列リスト ID。現在の PDFlib インスタンスが所有する文字列リストを参照する必要があります |
|---|
戻り値
| 0 | 一覧が空か、StringListID がこのインスタンスの所有する有効な文字列リストを参照していません |
|---|---|
| > 0 | 現在リストにある文字列数 |
備考
返される件数は ItemIndex 引数の GetStringListItem に対する上限である。有効なインデックスは 1 から GetStringListCount(StringListID) までであり、項目はゼロから番号付けされない
文字列リストはそれを生成した PDFlib インスタンスが所有し、インスタンスの破棄時に自動解放されます。それより早くリストを解放する場合、たとえば多数のファイルを順番に検証する長時間実行プロセスでは、ReleaseStringList を呼び出します
例
// Enumerate every compliance issue reported by CheckFileCompliance
var
Issues, Count, I: Integer;
begin
Issues := PDF.CheckFileCompliance('output.pdf', '', 1, 0);
if Issues <> 0 then
begin
Count := PDF.GetStringListCount(Issues);
for I := 1 to Count do
WriteLn(PDF.GetStringListItem(Issues, I));
PDF.ReleaseStringList(Issues);
end;
end;