Форум: "Основная";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
ВнизAccess violation Найти похожие ветки
← →
Alexs (2012-03-05 11:43) [0]есть некая программа после выполнения определенных действий вылетает
Access violetion at address 0040602A in module sm.exe read of address ffffffc4.
через отладчик выхожу вот на эту строку кода
@@haveVMT:
MOV EDI,[EDX].vmtDynamicTable
это System.pas самого delphi XE2 как выйти на строку кода в самой программе?
в программе создается много компонентов но все они удаляются таким вот образом
for i := 0 to pScrollBox.ControlCount - 1 do
begin
pScrollBox.Controls[0].Free;
end; // for
destroy ничего не меняет
← →
CRLF (2012-03-05 12:14) [1]for i := Pred(pScrollBox.ControlCount) downto 0 do
begin
pScrollBox.Controls[i].Free;
end;
← →
Dimka Maslov © (2012-03-05 12:30) [2]1. Есть такая замечательная весчь - называет Call Stack. Показывает (по мере сил, конечно) всю последовательность вызовов подпрограмм, приведшую к текущему месту.
2. Если контрол был добавлен через InsertControl или через присвоение Parent, то он будет удалён вместе со всеми. Отдельно удалять его не надо.
← →
Ega23 © (2012-03-06 13:59) [3]
> в программе создается много компонентов но все они удаляются
> таким вот образом
> for i := 0 to pScrollBox.ControlCount - 1 do
Во-первых, конкретную ошибку тебе уже показали [1]
Во-вторых, если компоненты правильно создавать, то и убивать их самому не надо будет, у них механизм самоликвидацией через Owner заложен.
Ты же не пишешь деструктор формы, хотя накидываешь на неё в design-time кучу контролов.
← →
Ega23 © (2012-03-06 15:07) [4]
> Во-первых, конкретную ошибку тебе уже показали [1]
Тут вот товарищи поправили, а я и проглядел.
Ошибки-то у автора нет, он нулевой элемент удаляет. Это не оптимально, т.к. ненужный Move много раз делается, но не ошибка.
Мне кажется, что это из-за Controls, а не Components. Надо код создания смотреть.
← →
Dimka Maslov © (2012-03-06 17:17) [5]По моему уничтожает объекты всё-такие Оwner, a не Parent. Вот у нас и получается, что Parent прибил их "таким вот образом ", а потом Owner пытается сделать это ещё раз в собственном деструкторе
← →
Anatoly Podgoretsky © (2012-03-06 17:47) [6]> Dimka Maslov (06.03.2012 17:17:05) [5]
Визуальные контролы убиваются по parent, они могут не иметь собственника.
Проблемы с удалением по Owner нет, при убиение по Controls он убирается
также и из списка Сomponents
← →
Ega23 © (2012-03-11 13:36) [7]
> По моему уничтожает объекты всё-такие Оwner, a не Parent.
> Вот у нас и получается, что Parent прибил их "таким вот
> образом ", а потом Owner пытается сделать это ещё раз в
> собственном деструкторе
Чё гадать-то, загляни в код.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2015.09.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.041 c