Инициализация свойств класса

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Инициализация свойств класса

Сообщение StillZero »

Ранее инициализировал свойства по умолчанию в методе Init().
Сейчас попробовал значения по умолчанию проставлять прямо в описании класса. Работает...но не всегда. Если класс создается через NEW, то не работает!!!
вот простой тестовый пример

Код: Выделить всё

                           PROGRAM
                           MAP
                           END

SomeClass       CLASS
Prop1             LONG(1)
Method1           PROCEDURE
                END

C1              SomeClass
C2              &SomeClass


  CODE
  C1.Method1
  C2 &= NEW SomeClass
  C2.Method1
  DISPOSE(C2)

SomeClass.Method1           PROCEDURE
  CODE
  MESSAGE(SELF.Prop1)
Аватара пользователя
Andrew™
SQL профи
Сообщения: 651
Зарегистрирован: 05 Июль 2005, 16:32
Откуда: Москва, Зеленоград

Re: Инициализация свойств класса

Сообщение Andrew™ »

StillZero писал(а):Ранее инициализировал свойства по умолчанию в методе Init().
Сейчас попробовал значения по умолчанию проставлять прямо в описании класса. Работает...но не всегда. Если класс создается через NEW, то не работает!!!
есть такое дело, я в конструкторах класса выставляю default значения
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Что делать понятно.
Непонятно почему данная багофича до сих пор не исправлена.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Сообщение Дед Пахом »

а она давно известна? Я впервые сталкиваюсь. Видел, что появилась возможность инициализировать члены класса таким образом, но не пользовался пока. Слава Богу.
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Еще в Clarion 6.1 в родных классах есть инициализация переменных таким образом. Но IMHO все те классы не создаются динамически...
Ответить