Страница 1 из 1

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

Добавлено: 21 Июнь 2006, 3:49
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)

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

Добавлено: 21 Июнь 2006, 8:10
Andrew™
StillZero писал(а):Ранее инициализировал свойства по умолчанию в методе Init().
Сейчас попробовал значения по умолчанию проставлять прямо в описании класса. Работает...но не всегда. Если класс создается через NEW, то не работает!!!
есть такое дело, я в конструкторах класса выставляю default значения

Добавлено: 21 Июнь 2006, 9:32
Admin
Что делать понятно.
Непонятно почему данная багофича до сих пор не исправлена.

Добавлено: 21 Июнь 2006, 10:00
Дед Пахом
а она давно известна? Я впервые сталкиваюсь. Видел, что появилась возможность инициализировать члены класса таким образом, но не пользовался пока. Слава Богу.

Добавлено: 21 Июнь 2006, 12:22
Admin
Еще в Clarion 6.1 в родных классах есть инициализация переменных таким образом. Но IMHO все те классы не создаются динамически...