|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.07.2009, 18:58 | #1 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Как проверить создан ли класс конструктором?
Как проверить создан ли класс конструктором?
|
01.07.2009, 19:13 | #2 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Я так понимаю есть переменная - ссылка на объект.
При инициализации присвойте ей nil. При создании объекта она примет некоторое значение (адрес) не nil. После уничтожения объекта присвойте ей снова nil. В итоге: если nil- объекта нет, иначе есть. P.S. Возможно, я неверно вас понял. Можете уточнить. И создан не класс, а объект.
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
01.07.2009, 19:30 | #4 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
У меня в игре есть класс TShip и переменные класса Ship
Код:
Код:
Код:
Код:
Код:
Цитата:
Последний раз редактировалось Вадим Буренков; 01.07.2009 в 19:35. |
|
01.07.2009, 19:35 | #5 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
Код:
|
01.07.2009, 19:38 | #6 |
Форумчанин
Регистрация: 06.01.2009
Сообщений: 340
|
Assigned и проверяет значение переменной на nil.
Это тоже самое, о чем я писал во 2-ом посте. Аналогично: Код:
Истинный успех – это то, что Вы сделали в сравнении с тем, что могли бы сделать.
Никогда не бойся делать то, что ты не умеешь. Помни, ковчег был построен любителем. Профессионалы построили "Титаник". |
01.07.2009, 19:39 | #7 |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Как ни странно я тоже так подумал, но ошибка осталась?!
Тогда я изменил с True на False: for n:=0 to 100 do if Assigned(Ship[n])=false then Ship[n].Processing; Теперь все работает. |
01.07.2009, 20:46 | #8 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
какой ужас... а не пришло ли к вам в голову, что просто сделать динамический массив, или вообще, использовать TList - что есть корректный метод, для хранения списка ваших классов ?
TList даст вам и кол-во элементов, и редактирование, типа удалить, переместить и т.п... а вообще сделать класс на основе TList, который бы интерпритировал каждый элемент как Код:
Код:
|
01.07.2009, 20:54 | #9 |
Старожил
Регистрация: 13.12.2006
Сообщений: 3,859
|
Код:
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи |
01.07.2009, 21:26 | #10 | |
Участник клуба
Регистрация: 06.03.2009
Сообщений: 1,346
|
Значит у меня Delphi заглючил. Когда я перезапустил проэкт то работать стало только в как в примере Daramant'a.
Цитата:
|
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как Как проверить кнопки мыши без OnMouseDown? | Вадим Буренков | Общие вопросы Delphi | 3 | 22.05.2009 15:08 |
Проверить создан ли уже массив | slips | Общие вопросы C/C++ | 2 | 19.04.2009 18:31 |
Как узнать когда был изменен (создан) интерфейс версии IPv6. | Crazyman | Работа с сетью в Delphi | 0 | 15.12.2008 00:51 |
Как обратиться к объекту который был только что создан | Arassir | Помощь студентам | 5 | 24.10.2008 20:42 |
массив объектов с конструктором копии | pu4koff | Общие вопросы C/C++ | 6 | 18.06.2008 17:33 |