Форум: "Основная";
Текущий архив: 2004.01.05;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c