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;