Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.024 c
3-11801
Delf
2003-12-02 16:34
2004.01.05
Очень медленно предаются данные запроса по сети


14-12067
Style
2003-12-15 18:36
2004.01.05
Люди ХЕЛП!!!! TToolButton или TImageList


14-12082
Ske4er
2003-12-16 01:17
2004.01.05
Сломали Рамблер?


1-11860
Kremen
2003-12-18 15:50
2004.01.05
Помогите с TWordDocument


7-12174
genek84
2003-10-24 12:49
2004.01.05
как отловить подключение дисков c помощью хуков




   Наверх