Текущий архив: 2007.10.14;
Скачать: CL | DM;
Вниз
Exception в TObjectList при Add, из-за чего может быть? Найти похожие ветки
← →
Kolan © (2007-09-17 12:16) [0]Здравствуйте,
Есть такой класс:
TCustomDomainObjectList = class(TObjectList)
private
function GetItem(Index: Integer): TCustomDomainObject;
procedure SetItem(Index: Integer; const Value: TCustomDomainObject);
public
constructor Create;
function Add(DomainObject: TCustomDomainObject): Integer;
property Items[Index: Integer]: TCustomDomainObject read GetItem
write SetItem; default;
end;function TCustomDomainObjectList.Add(
DomainObject: TCustomDomainObject): Integer;
begin
Result := inherited Add(DomainObject);
end;
Не могу понять почему при добавлении возникает Access Violation. Трассировка показала что возникает он здесь:function TList.Add(Item: Pointer): Integer;
begin
Result := FCount;
if Result = FCapacity then
Grow;
FList^[Result] := Item;
Inc(FCount);
if Item <> nil then
Notify(Item, lnAdded);
end;
← →
Kolan © (2007-09-17 12:22) [1]Блиин, экземпляр был не создан, забыл inherited…
← →
Вася Правильный (2007-09-17 12:23) [2]а зачем новый класс без внесения ничего нового в него, кроме ошибок?
← →
Anatoly Podgoretsky © (2007-09-17 12:24) [3]> Kolan (17.09.2007 12:16:00) [0]
TCustomDomainObjectList создан.
Строки создания и вызова метода в студию.
← →
Kolan © (2007-09-17 13:04) [4]> Строки создания и вызова метода в студию.
Да разобрался уже, забыл inherited в середине иерархии классов, общий предок этой иерархии как раз и содержал поле типа TCustomDomainObjectList… Без inherited TCustomDomainObjectList не создавался — отсюда AV
Страницы: 1 вся ветка
Текущий архив: 2007.10.14;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.041 c