![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 14.12.2009
Сообщений: 4
|
![]()
Я новичок именно в ООП. У меня есть 2 класса TShpere и его родитель TGLScene.
При объявлении объекта (VAR): Sphere: array [1..n] of TGLSphere; - компилятор ругается. При Sphere: array [1..n] of TGLSсene; - проходит. Пробовал также объявлять: CSphere: array [1..n] of TGLSphere.CreateAsChild(Form1.GLSce ne1.Objects); CSphere: array [1..n] of TGLScene.Create(AOwner: TGLSphere); В большинстве случаев компилятор либо отправляет проверять подключенные модули, либо ругается на ошибку синтаксиса. |
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
![]() Цитата:
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика ![]() |
|
![]() |
![]() |
![]() |
#3 |
Регистрация: 14.12.2009
Сообщений: 4
|
![]()
Либо отправляет проверять список uses, либо говорит, что ошибка синтаксиса...
Во всех случаях, кроме Sphere: array [1..n] of TGLSсene; Кроме раздела VAR ничего больше не объявлял. Может требуется как-то явно указать, что у TGLSphere родитель ТGLScene? |
![]() |
![]() |
![]() |
#4 | ||
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Цитата:
Кака у тя Делфи я не знаю но теб нужно добавть путь тому модулю в Library Path в настройках Делфи.
I'm learning to live...
|
||
![]() |
![]() |
![]() |
#5 |
Регистрация: 14.12.2009
Сообщений: 4
|
![]()
Да, но родительский компонент GLScene работает с TGLSphere;
Здесь нашел что-то подобное: "За сферы в GLScene отвечает класс TGLSphere. Казалось бы, можно написать так: Sphere:=TGLSphere.Create Однако команда работать не будет, так как каждому объекту в GLScene надо зарегистрироваться в очереди объектов. Кроме того, объект нельзя создать в “пустоте”, он должен быть привязан к какому-то объекту более высокого уровня. Корневой объект самого высокого уровня — glscene1.Objects (если объект компонента TGLScene у вас называется glscene1). Правильный вариант: Sphere:=TGLSphere (glscene1.Objects.AddNewChild(TGLSp here)) Разберем эту строчку по частям. У корневого объекта glscene1.Objects мы вызываем метод AddNewChild, который добавляет в корень объект класса, указанный в параметре (в данном случае это сфера — TGLSphere). Так тоже можно: в параметры процедурам передавать не объекты, а целые классы. Зачем перед присвоением нужно преобразование типа к TGLSphere? Дело в том, что метод AddNewChild, что бы вы ему в параметр ни передали, возвращает объект класса TGLBaseSceneObject. Нас это не устраивает, поэтому мы и преобразуем тип к TGLSphere. Получившийся объект присваивается переменной Sphere. Теперь с помощью этой переменной мы можем нашей пуле задать разные параметры, например положение в пространстве" http://www.igromania.ru/Articles/402...ze_GLScene.htm Но там не указано: какого типа переменная Sphere, а при попытке некоторому типу :=TGLSphere (glscene1.Objects.AddNewChild(TGLSp here)), снова ругается, что не знает TGLSphere. |
![]() |
![]() |
![]() |
#6 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#7 |
Регистрация: 14.12.2009
Сообщений: 4
|
![]()
Спасибо всем, действительно были не все модули подключены, в частности GLObjects
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как создать объект на форме? | tns-ka | Microsoft Office Excel | 2 | 13.12.2009 21:34 |
Как мне создать вот такой объект? | Тупой | Microsoft Office Excel | 2 | 10.12.2009 00:12 |
Как в базовом классе описать указатель на объект производного класса? | MasterGH | Общие вопросы C/C++ | 3 | 16.11.2009 02:55 |
Если в классе объявить объект другого класса,будет ли видно переменные первого класса из объекта второго? | TwiX | Общие вопросы Delphi | 3 | 15.11.2009 00:54 |
Как узнать, создавался ли уже объект класса? | TwiX | Общие вопросы Delphi | 4 | 06.10.2009 09:44 |