![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
Client |
![]()
Сообщение
#1
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
У меня есть массив едитов. Но не все из них созданы (они динамические). Я их создаю, с ними работаю, а потом мне надо их удалить. Но я не знаю существуют ли некоторые из них или нет. Так вот, как проверить существует ли едит? (может надо сравнить что-то с Nil?)
Добавлено через 6 мин. И как правильно удалять эти едиты? сначала по-одному -MasEdit[n].free и потом dispose(MasEdit) или по-другому? |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата И как правильно удалять эти едиты? Вызывать метод Free, он сам проверит, существует ли объект, и если да - то удалит его, если нет - ничего страшного не произойдет, вызов Free будет проигнорирован.Цитата и потом dispose(MasEdit) А вот это уже зависит от того, как ты выделял место для хранения самих указателей на TEdit-ы... Если массив описан статически:var, то никакого Dispose вообще не надо. |
Client |
![]()
Сообщение
#3
|
Профи ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 865 Пол: Мужской Реальное имя: Вячеслав Репутация: ![]() ![]() ![]() |
У меня 2 кнопки-создать и удалить. При создании если я заполняю все едиты(5 шт) то добавляется еще 1 едит. А на кнопку удалить я удаляю все 6 едитов. Когда появляется 6 едит и я нажимаю удалить-все нормально. После удаления я создаю и не все едиты заполняю, т.е. их 5 так же и остается. Нажимаю удалить и ошибка при обращании к памяти ((
Массив статический, new/dispose не использую, удаляю методом free Добавлено через 15 мин. Исправил прогу, работает без ошибки. (дополнительный едит создаю всегда, а задаю остальные свойства уже потом) |
![]() ![]() |
![]() |
Текстовая версия | 8.07.2025 16:37 |