| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Для новичков > Проблема при удалении компонента |
| Автор: DarkProg 13.1.2010, 22:27 | ||
| Друзья у меня проблема Я динамически создаю кучу компонентов TImage, но в определённой ситуации их надо удалить, но при попытке это сделать появляется ошибка, компоненты располагаются на другой форме, поэтому форма записи такая
вот такая ошибка, подскажите что не так??? [DCC Error] unBetaKvain.pas(547): E2064 Left side cannot be assigned to |
| Автор: artsb 13.1.2010, 22:29 |
| ИМХО после free поиск уже не даёт результатов... Попробуйте без строки 547. |
| Автор: artsb 13.1.2010, 22:34 |
Можно принять результат поиска в указатель. Потом его free, а потом nil Но вообще, я точно не знаю как там в Делфи. А зачем вообще обнулять? Добавлено через 47 секунд Вы сначала проверьте без строки 547. Если проблема исчезнет, значит так оно и есть. |
| Автор: DarkProg 13.1.2010, 22:37 |
память не высвободится, пока прогу не закрою |
| Автор: artsb 13.1.2010, 22:43 | ||
| эм... не понял. а причём тут это? Добавлено через 28 секунд Я имею ввиду:
|
| Автор: artsb 13.1.2010, 22:58 |
Кажется понял. Но это тут ни причём. Память высвобождается после free. А обнуление указателя делается для того, чтобы потом можно было проверить его валидность и не допустить ошибки. |
| Автор: DarkProg 14.1.2010, 12:57 | ||
Да я просто как-то наблюдал за работой проги без nil, она сносит компоненты, потом их создаёт, но память не высвобождается из под компонентов, каждый раз при создании компонента прога хавает всё больше и больше, разрушаешь компоненты, а память выделенная для созданных компонентов не освобождается. Вот что я имел в виду. Но это не важно я уже всё решил, там нужно было переменнной присвоить нужный TImage а потом го уже freeandnil() |
| Автор: artsb 14.1.2010, 14:19 | ||
Ну я приблизительно это и имел ввиду Добавлено через 26 секунд Просто забыл про freeandnil... |
| Автор: bems 14.1.2010, 21:01 | ||
|
| Автор: artsb 14.1.2010, 22:18 | ||
А ведь действительно. Важное замечание. Спс. |
| Автор: bems 14.1.2010, 22:52 |
| Не за что. Шокирующе, да? |
| Автор: artsb 14.1.2010, 22:54 |
| Ага. А я что-то и не сообразил... Добавлено @ 23:06 bems, а ведь всё таки можно присвоить значение, если возвращается ссылка |
| Автор: bems 15.1.2010, 09:28 |
| Можно присвоить новое значение туда, куда ссылается ссылка. Но не самой ссылке. |
| Автор: artsb 15.1.2010, 10:49 | ||
Ну это понятно |