2
德爾福2009年,我曾與泛型沒有大的問題,到目前爲止(使用Generics.Collections名單,沒有特殊的泛型功能)。TObjectList <T>。載導致訪問衝突德爾福2009年
現在我發現這個代碼將導致一個AV,其中訪問MyList.Contains
行。
錯誤消失如果我聲明TMyList = class(TList<TMyEntry>)
;
我應該避免TObjectList<T>
或者是別的東西在我的代碼引起該錯誤?
type
TMyEntry = class(TStringlist);
TMyList = class(TObjectList<TMyEntry>);
procedure TListTests.TestAV;
var
Entry: TMyEntry;
MyList: TMyList;
begin
MyList := TMyList.Create;
try
Entry := TMyEntry.Create;
MyList.Add(Entry);
Assert(MyList.Contains(Entry)); // <--- AV
finally
MyList.Free;
end;
end;
相關:http://stackoverflow.com/questions/4216733/仿製TLIST功能於德爾福2009年崩潰上的indexOf – 2012-03-30 09:24:01
@VilleKrumlinde我不只是說相關的,我會說這是完全一樣的日ING。 'TObjectList <>'從'TList <>'派生,所以'TList <>'中的錯誤也出現在'TObjectList <>'中。 – hvd 2012-03-30 09:30:35