Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Порядок удаления   Найти похожие ветки 

 
Андреев Павел   (2003-05-23 13:27) [0]

Нельзя ли задать определенный порядок удаления компонент на форме?


 
Skier   (2003-05-23 13:32) [1]

>Андреев Павел (23.05.03 13:27)
TComponent.ComponentIndex ?
А цель какая ?


 
Андреев Павел   (2003-05-23 13:44) [2]

Компоненты содержат коллекции объектов, которые содержат интерфейсные указатели на объекты из других коллекций. Надоело мучаться над правильным освобождением этих ссылок. Если бы можно было задать порядок удаления комопнент, было бы чуть попроще.


 
Юрий Федоров   (2003-05-23 13:46) [3]

можно удалять руками при разрушении формы.
Насколько я понимаю при вызове Label1.Free метка разрушится и будет исключена из списка Components своего владельца


 
MBo   (2003-05-23 13:50) [4]

а не проще будет, если объект при разрушении будет уведомлять связанные с ним? Пример - TComponent.Notification c opRemove


 
Андреев Павел   (2003-05-23 13:50) [5]

Юрий Федоров © (23.05.03 13:46)
можно удалять руками при разрушении формы.
Насколько я понимаю при вызове Label1.Free метка разрушится и будет исключена из списка Components своего владельца


Если пытаюсь удалять руками, то потом вылазит AccessViolation.


 
Skier   (2003-05-23 13:53) [6]

>Андреев Павел (23.05.03 13:50)
У TComponent есть метод BeforeDestruction, в потомке его
можно перекрыть и там занулять все ссылки на него.


 
Юрий Зотов   (2003-05-23 14:02) [7]

> Андреев Павел (23.05.03 13:44)

Ваши коллекции просто неверно написаны. Удаляемый элемент должен оповестить о своем удалении заинтересованные элементы, а те, получив уведомление, обнулить свои ссылки. И все. В компонентах для этого используются методы Notification, FreeNotificaton и RemoveFreeNotificaton, а для некомпонентских классов Вам нужно сделать аналогичный механизм.

Вот это будет грамотное, профессиональное решение. А делать форму зависимой от порядка создания/удаления - кустарщина.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
3-12999
voland0
2003-05-19 14:23
2003.06.05
Проверка поля на null


14-13423
Nick-From
2003-05-19 13:27
2003.06.05
Посоветуйте тему для диплома


14-13365
MalkoLinge
2003-05-16 12:35
2003.06.05
OFF line Прога для чтения форумов


4-13521
tamerlan311
2003-04-06 09:13
2003.06.05
Высвобождение ресурсов от dll


3-13059
Andrey02
2003-05-17 14:30
2003.06.05
Совместимость БД MS Access .mdb и Delphi ADO/BDE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский