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

Вниз

Как узнанть создан ли уже объект или нет   Найти похожие ветки 

 
madcap   (2002-01-28 22:53) [0]

Как узнанть создан ли уже объект или нет
В чаности мне нужно знать вызывали ли я уже конструктор для TThread или нет?


 
MBo   (2002-01-29 08:13) [1]

if Assigned


 
cpp   (2002-01-29 09:41) [2]

Ты должен анализировать переменную экземпляра класса обычно это делается функцией Assigned. Она проверяет значение этой переменной на равенство nil. Фишка в том, что даже если ты уничтожишь экземпляр методом Free Assigned будет возвращать True. Поэтому если ты собираешь повторно использовать переменную после Free обязательно присвой ей nil или воспользуйся процедурой FreeAndNil (Delphi 5 и выше)


 
Nemesis   (2002-01-29 09:48) [3]

мой личный опыт показывает, что вызов функции Assigned и проверка на null приводят к одному результату (и правильному, и не правильному). Не зная как сделано Assigned в Дельфи, но вызов деструктора для объекта не изменяет саму переменную: для всех объектов переменная - экземпляр этого класса - указатель (фактически адресс). Вот он (адресс) и не изменяется.

Я обычно не делаю проверку на наличие объекта а вызываю его методы (свойства) в блоке try ... except


 
Nemesis   (2002-01-29 09:59) [4]

Да з базами я заработался - конечно не null a nil



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

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

Наверх





Память: 0.45 MB
Время: 0.003 c
3-32137
Sergant
2002-01-12 04:35
2002.02.11
Строковые поля длинй больше 255


1-32219
Андрей Сенченко
2002-01-25 12:33
2002.02.11
Проверка доступности сетевого диска


14-32331
Иван Шихалев
2001-12-19 17:51
2002.02.11
Маленькая просьба к жителям Е-бурга


1-32217
Do№
2002-01-24 19:27
2002.02.11
Изменение регистра символов


3-32176
weak
2002-01-16 17:04
2002.02.11
QReport и StringGrid





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