Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
ВнизУдалить конкретный элемент из массива компонентов Найти похожие ветки
← →
Vass (2010-05-17 20:03) [0]Доброго времени суток! У меня дан массив:
cimag:array[1..255] of TImage.
Помогите удалить конкретный элемент массива например 5. Пытаюсь:...
cimag[5].Free
...
Элемент с формы удаляется, но делфи выдает кучу ошибок когда пытаюсь выполнить действия с другими блоками. Или так нельзя делать, подскажите тогда как можно! Спасибо!
← →
_Юрий © (2010-05-17 20:07) [1]
> Элемент с формы удаляется,
а ссылка на удаленный объект остается в массиве, когда цикл идет по массиву, в этом месте получается нарушение доступа к памяти.
Варианты:
1. Обнулять ссылку:
cimag[5].Free;
cimag[5]:=nil;
в циклах проверять на nil
if cimag[5] <> nil then
2. Использовать TList вместо массива
← →
DVM © (2010-05-17 20:07) [2]
> но делфи выдает кучу ошибок когда пытаюсь выполнить действия
> с другими блоками
Покажи, что ты делаешь и как.
> Или так нельзя делать
Ну вобщем то можно, а почему нет.
> подскажите тогда как можно! Спасибо!
Лучше вероятно использовать список. Более того, этот список уже имеется у каждой формы.
← →
Vass (2010-05-17 20:21) [3]
> Покажи, что ты делаешь и как.
у меня блоки с имэйджами таскаются по форме с помощью мыши, а клик по кнопке Удалить удаляет выбранный имэйдж (у меня есть еще процедура выбора имэйджа 1 клик по имэйджу - он теперь выбран). Удалил блок методом Free у меня потом делфи "ругается", когда на другие имэйджи пытаюсь таскать или выбрать!))
> 1. Обнулять ссылку:cimag[5].Free;cimag[5]:=nil;
Спасибо!!! До этого только использовал отдельно cimag[5].Free; или cimag[5]:=nil; Что то не до пёр использовать вместе))) Но теперь прибавиться работы с проверкой на nil. Спасибо за то что подсказали и так быстро!!!))
← →
turbouser © (2010-05-17 21:47) [4]
> Vass (17.05.10 20:21) [3]
Используй TObjectList
← →
Омлет © (2010-05-17 21:49) [5]Придет опыт, и будет использоваться TObjectList.
Придет еще опыт, и не будет кучи TImage, а будет всего один TBitmap.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.056 c