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

Вниз

Add2AutoFreeEx   Найти похожие ветки 

 
Don ©   (2007-01-22 14:29) [0]

Нельзя ли изменить тип процедуры в Add2AutoFreeEx с TObjectMethod на TOnEvent. А то происходит вызов процедуры, а неизвестно какой именно объект уничтожается.


 
Vladimir Kladov   (2007-01-22 15:43) [1]

куда приходит и кому неизвестно? Там может и не метод быть, и вообще любая процедура. Обычно, конечно, в список засовывается метод Free. Но могут быть и разные другие случаи.


 
Don ©   (2007-01-22 16:45) [2]

Куда приходит известно. Не известно кто вызвал эту процедуру.
Допустим необходимо создать несколько контролов сделав из них список, а при их удалении необходимо удалить этот контрол из списка.
Допустим также, что OnDestroy используется в другом модуле. WM_DESTROY тоже нельзя отловить, начиная с версии 2.51. Компоненты могут удаляться в любой момент выполнения программы, а не только при уничтожении Appletа.
Создать для каждого отдельного CONTROLа свою процедуру для Add2AutoFreeEx нельзя, неизвестно сколько их будет. Можно создать одну процедуру для всех, но тогда неизвестно, кто уничтожается.
Что делать в таких случаях?


 
Vladimir Kladov   (2007-01-22 18:11) [3]

Ну насчет нельзя, это мы подумаем. Что-нибудь еще придумаем. Мне такое решение тоже не нравится. Просто что-то срочное надо было с progress bar решать, падает он.

Вообще-то в списке хранится именно пара объект - метод. Я не пойму, чего не хватает.


 
Don ©   (2007-01-23 08:34) [4]

Все, уже разобрался, почему нельзя. Я думал, что в процедурах Add2AutoFree и Add2AutoFreeEx используются разные списки, а оказывается один и тот же.

Другой вопрос, а нельзя ли сделать какое-то оповещение, о том что контрол уничтожается, типа Notification в VCL.



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

Форум: "KOL";
Текущий архив: 2007.09.09;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.045 c
15-1187125450
Германн
2007-08-15 01:04
2007.09.09
Скушно!


4-1173292820
dRake
2007-03-07 21:40
2007.09.09
Как програмно разблокировать файл? (+)


15-1186904367
ctudent
2007-08-12 11:39
2007.09.09
В чём может быть причина с DVD?


15-1186626194
Slider007
2007-08-09 06:23
2007.09.09
С днем рождения ! 9 августа 2007 четверг


2-1187162973
Quart
2007-08-15 11:29
2007.09.09
Win 98





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский