Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

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&#133


 
Вася Правильный   (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&#133  Без inherited TCustomDomainObjectList не создавался &#151; отсюда AV



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.046 c
15-1189883937
Галинка
2007-09-15 23:18
2007.10.14
Игра Die Siedler


1-1182843277
tytus
2007-06-26 11:34
2007.10.14
RemoteDataModule - не работает счетчик пользователей.


2-1190529112
zavialov
2007-09-23 10:31
2007.10.14
Не увеличивать счетчик ссылок - создать отдельный экземпляр.


15-1189512044
Layner
2007-09-11 16:00
2007.10.14
Серийный номер БИОСа/CPU в MS Viste?


1-1185986551
WASM
2007-08-01 20:42
2007.10.14
TWebBrowser





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский