Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.05;
Скачать: CL | DM;

Вниз

Access Violation в работе TStringList   Найти похожие ветки 

 
Сергей Резников ©   (2003-12-19 18:17) [0]

При создании доч. формы: MainForm.ChildList.Add(IntToStr(Self.Handle));
При разр.: MainForm.ChildList.Delete(MainForm.ChildList.IndexOf(IntToStr(Self.Handle)));
После закрытия последней формы и открытия новых форм выскакивает (на первой форме) AV. ChildList есесно создан при ссозд форме.


 
Тимохов ©   (2003-12-19 18:19) [1]

Все-таки кода бы побольше.
Откуда ты эти команды вызываешь?


 
Сергей Резников ©   (2003-12-19 18:27) [2]

Child.Oncreate: MainForm.ChildList.Add(IntToStr(Self.Handle));
Child.Ondestroy: MainForm.ChildList.Delete(MainForm.ChildList.IndexOf(IntToStr(Self.Handle)));

MainForm.Oncreate: ChildList := TStringList.Create.
ChildList объявлен в Public`е формы.


 
Sandman25 ©   (2003-12-19 18:38) [3]

Если AV на строке MainForm.ChildList.Add(IntToStr(Self.Handle)),
причем вызывается это в TChildForm.OnCreate,
а MainForm.ChildList все еще жив, то надо опять перезагрузить компьютер :)


 
Тимохов ©   (2003-12-19 18:39) [4]

Вообще говоря, мистика. Вроде все верно.


 
Сергей Резников ©   (2003-12-19 18:40) [5]

Всё ажур пока не закроешь посл. форму и не начнёшь открывать по новой, тогда первая форма и рожает исключение !!!


 
Sandman25 ©   (2003-12-19 18:44) [6]

[5] Сергей Резников © (19.12.03 18:40)

На какой строке? Под отладчиком проходили?


 
Сергей Резников ©   (2003-12-19 18:48) [7]


> Sandman25 © (19.12.03 18:44) [6]

MainForm.ChildList.Add(IntToStr(Self.Handle));
после вышесказанного.


 
Тимохов ©   (2003-12-19 19:17) [8]

Я ж говорю, мистика.
В приведенном куске кода ошибок нет. Чтобы понять в чем дело надо видеть значительно больше. Скорее всего ошибка в скрытом от нас куске кода.


 
Сергей Резников ©   (2003-12-20 07:52) [9]

Я выяснил, что AV происходит вообще при созд. доч. окна после закрытия всех прежних доч. окон ! Это совсем непонятно !!!


 
Владислав ©   (2003-12-20 11:05) [10]

Нужно больше кода.


 
Владислав ©   (2003-12-20 11:08) [11]

И кстати, в чем потайной смысл использования этого стринглиста?


 
Digitman ©   (2003-12-20 11:51) [12]

тайный смыл стринглиста гораздо круче нежели банальный смысл списка MDIChildren[] )


 
Юрий Зотов ©   (2003-12-20 12:05) [13]

> Сергей Резников © (20.12.03 07:52) [9]
> Я выяснил, что AV происходит вообще при созд. доч. окна после
> закрытия всех прежних доч. окон ! Это совсем непонятно !!!

Вероятнее всего, где-то идет обращение по битой ссылке (а битой она становится после закрытия последней дочерней формы). Похоже, для ссылки на дочернюю форму Вы где-то используете глобальную переменную (или глобальный список, массив...) при Action=caFree в OnClose дочерней формы.

IMHO, проход отладчиком даст гораздо больше пользы, чем 10 форумов, вместе взятых.



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

Текущий архив: 2004.01.05;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.026 c
1-11878
еще чайник
2003-12-18 15:10
2004.01.05
Отчет FastReport


1-11949
ASt
2003-12-20 00:06
2004.01.05
Параметры запуска приложения


3-11841
gestern
2003-12-09 21:26
2004.01.05
sql


14-12054
Undert
2003-12-10 12:22
2004.01.05
ColorAllocate


7-12176
Slavian
2003-10-24 17:31
2004.01.05
Жесткие диски