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

戻り値

0StringListID が無効か、このインスタンスが所有する文字列リストを参照していません
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;

関連項目

GetStringListCount、GetStringListItem、CheckFileCompliance