![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Fedor |
|
||||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Динамически создаю Label'ы:
if условие, то... Labels[i,j]:=TLabel.Create Это все понятно. А далее нужно освободить все из них, тоесть label[i,j].free проблема: если из-зи условия конкретный Label не создался, то при освобождении выается ошибка. пробывал делать:
выдается ошибка Также пробовал:
Тоже выдается ошибка помогите это сделать... -------------------- Мы - Днепряне. Мы всех сильней. |
||||
|
|||||
| Illusion Dolphin |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1198 Регистрация: 3.5.2003 Репутация: 36 Всего: 63 |
А попробуй по умолчанию задавать всем элементам массива значение nul, а потом проверять на него, и если он не nul, тогда делать freeandnil(labels[i,j])
-------------------- В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен. Шифрование и организация фотографий - Photo Database 4.5 |
|||
|
||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
Вы пытаетесь освободить то, чего нет
|
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
Попробую все, что предложили...
zemfir а Вы не могли бы рассказать как именно заключать в скобки исключения. А то че-то у меня пока с ентим проблемы... Даже в хелпе нормально не могу найти... -------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| zemfir |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 33 Регистрация: 21.12.2003 Репутация: нет Всего: нет |
for i:=1 to n do
for j:=1 to n do begin try Labels[i,j].free; except end; end; но вообще, это порочный путь. Правльно изначально задать значения Labels[i,j]=nil а при уничтожении if Assigned(Labels[i,j]) then Labels[i,j].Free, В принципе, перехват исключения стоять должен, но только как "на всякий случай", а может и не должен, не должно быть в этому случае "всяких случаев". Это сообщение отредактировал(а) zemfir - 25.12.2003, 01:21 |
|||
|
||||
| Fedor |
|
|||
![]() Днепрянин ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2090 Регистрация: 8.2.2003 Где: Великий Репутация: нет Всего: 32 |
zemfir Дольшое спасибо! Буду пробовать.
-------------------- Мы - Днепряне. Мы всех сильней. |
|||
|
||||
| Петрович |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1000 Регистрация: 2.12.2003 Где: Москва Репутация: 25 Всего: 55 |
Illusion Dolphin
и zemfir
Проверка вовсе не обязательна, если массив был проинициирован Nil. Дело в том, что Free для того сделан что-бы на Nil не ругаться. Иначе можно было просто дергать Destroy. Вот выдержка из справки:
Ну а для полной гарантии вот фрагмент из System.pas:
-------------------- Все знать невозможно, но хочется |
||||||||
|
|||||||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |