Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
ВнизКак узнать создан ли объект Найти похожие ветки
← →
Foccer © (2006-06-10 09:16) [0]У меня проблема. Не могу узнать создан ли тот или иной объект?
← →
tesseract © (2006-06-10 09:24) [1]if MyObject<> nil then .......
← →
GanibalLector © (2006-06-10 10:33) [2]
if Assigned(обьект)
← →
tesseract © (2006-06-10 10:37) [3]
> GanibalLector © (10.06.06 10:33) [2]
тоже самое, фактически.
← →
palva © (2006-06-10 10:39) [4]Если программистом не соблюдается некоторая дисциплина работы с объектом, то никак не узнать.
← →
tesseract © (2006-06-10 10:54) [5]
> Если программистом не соблюдается некоторая дисциплина работы
> с объектом, то никак не узнать.
То что объект создан - легко, а вот то, что не разрушен - другой вопрос.
← →
Reindeer Moss Eater © (2006-06-10 11:35) [6]if Assigned(обьект)
if MyObject<> nil then .......
Этот код не в состоянии ответить на вопрос, создан ли объект.
← →
tesseract © (2006-06-10 11:36) [7]Assigned делает то-же самое. Как правило этот метода работоспособен, то-что объект, при условии объёвления его в глобальной переменной, был создан - определит.
← →
Reindeer Moss Eater © (2006-06-10 11:40) [8]Assigned проверяет ссылку а про сам объект он ничего не знает и знать не может.
Вот если конструктор класса завершился без исключения, то можно с большой долей уверенности сказать, что объект который он пытался создать - создан.
← →
tesseract © (2006-06-10 11:52) [9]
> Assigned проверяет ссылку а про сам объект он ничего не
> знает и знать не может.
Если объект объявлен, как глобальная переменная, то при страте программы указатель на него выставляется в nil. в случае локальной переменной этого утверждать нельзя.
> Вот если конструктор класса завершился без исключения, то
> можно с большой долей уверенности сказать, что объект который
> он пытался создать - создан.
это подтверждаю, но узнать создан ли объект УЖЕ, этим невозможно, если объект уже создан и вызван новый конструктор, переменной будет присвоена ссылка на новый объект.
← →
Reindeer Moss Eater © (2006-06-10 11:55) [10]Просто автора ветки интересует совсем не тот вопрос, который он задал.
← →
tesseract © (2006-06-10 11:57) [11]
> У меня проблема. Не могу узнать создан ли тот или иной объект?
Почему, всё явно, он хочет узнать доступен ли объект для операций с ним.
← →
Reindeer Moss Eater © (2006-06-10 11:58) [12]Тогда конструктор без эксепшена - ответ на его вопрос.
← →
Reindeer Moss Eater © (2006-06-10 11:59) [13]А те ответы неверны, потому что объект может быть создан и без каких либо переменных, ссылающихся на него.
← →
tesseract © (2006-06-10 12:04) [14]
> А те ответы неверны, потому что объект может быть создан
> и без каких либо переменных, ссылающихся на него.
memory leak - мне кажеться автор хочет этого, как раз избежать. Выяснив, создан уже объект, или его надо создать. Без его пояснений дальнейшее обсуждение бессмысленно.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.07.02;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.011 c