ArrayList에 저장된 객체의 목록을 비워야합니다. 델파이에서 무료 프로 시저를 호출 할 수 있지만 델파이 프리즘에서는 무료 프로 시저가 없다는 것을 알고 있습니다. 나는 단지 목록에서 객체를 제거하고 싶지만 그 객체를 메모리에서 제거하고 싶지 않다. 예를 들어 Delphi Prism에서 객체의 arraylist를 해제하는 방법은 무엇입니까?
내가 이런 짓을 했을까TheClass = Class
private
theStr:String;
protected
public
end;
method TheForm;
begin
TheArrayList:=new ArrayList;
end;
가 개체를 추가 내가이 다음 클래스를 가지고 말 :
method TheForm.AddToList;
var
tmpObj:TheClass;
begin
tmpObj := new TheClass;
TheArrayList.Add(tmpObj);
end;
목록에서 개체를 삭제하려면이 내가하지만 그것을 할 것입니다 방법이있다 무료 절차입니다.
method TheForm.DeleteFromList;
var I:integer;
begin
for I:=0 to theArrayList.count-1 do
begin
theClass(theArrayList[I]).free; <-------I know this doesnt work.
theArrayList.RemoveAt(I);
end;
end;
end;
어떻게하면 Delphi Prism에서 개체 목록을 확보 할 수 있습니까?
감사합니다,
가비지 수집기가있는 .net입니다. 기억을 놓을시기를 결정하게하십시오. –
@ David, Okay. 그러나 가비지 컬렉터를 기다리지 않고 객체를 강제로 해제해야하는 상황이 발생하면 어떻게 될까요? – ThN