ReleaseStringList
その他の関数
説明
別の API 関数(たとえば CheckFileCompliance)から以前返された文字列リストを解放します。この呼び出し後、StringListID ハンドルは無効となり、GetStringListCount または GetStringListItem に渡してはなりません
構文
Delphi
Function TPDFlib.ReleaseStringList(StringListID: Integer): Integer;
ActiveX
Function PDFlib::ReleaseStringList(StringListID As Long) As Long
DLL
int DLReleaseStringList(int InstanceID, int StringListID);
パラメータ
| StringListID | 生成元関数から以前に返された、解放する文字列リストの ID |
|---|
戻り値
| 0 | StringListID が無効か、このインスタンスが所有する文字列リストを参照していません |
|---|---|
| 1 | リストが正常に解放されました |
備考
文字列リストは、それを生成した PDFlib インスタンスが所有します。インスタンスの破棄時に自動解放されるため、通常は明示的な解放は任意です。多数のリストを生成する長時間実行プロセス(数百の PDF を順番に検証する CI ワーカーなど)では、メモリ使用量を制限するため ReleaseStringList を呼び出します
例
// Validate many files in a loop, releasing each result list as soon as it has been logged
var
I, Issues, Count, J: Integer;
begin
for I := 0 to Files.Count - 1 do
begin
Issues := PDF.CheckFileCompliance(Files[I], '', 1, 0);
if Issues <> 0 then
begin
Count := PDF.GetStringListCount(Issues);
for J := 1 to Count do
WriteLn(Files[I], ' : ', PDF.GetStringListItem(Issues, J));
PDF.ReleaseStringList(Issues);
end;
end;
end;