Доступ к библиотеки с перечислениями

Добрый день.

Подскажите пожалуйста алгоритм доступа к перечислениям TSObjectLibrary > Перечисления.

Нравится

3 комментария

Добрый день, Станислав.
Уточните пожалуйста что Вы имеете в виду?
Механизм доступа к сервису перечисления "enm_" в конфигурации?
Или Вам необходимо подключить библиотеку TSObjectLibrary к стороннему приложению и там обратиться к сервису перечисления конфигурации Terrasoft?

Павел, добрый день!

Речь идет о доступе к перечислениям непосредственно из TerraSoft. В рамках библитеки TSObjectLibrary существует набор перечислений, как получить доступ к одному из них, а именно: enum _RoundingTypeEnum ?

Для примера:

var RT = CreateObject('TSObjectLibrary._RoundingTypeEnum ');

Благодарю за помощь.

Добрый день, Станислав.
В библиотеках "перечисления" являются константными значениями. Доступ к ним из сервисов конфигурации получить не удастся.

Пример: в WindowLibrary.dll объявлен enum

    enum _DirectionEnum {
      dHorizontal = 0,
      dVertical = 1
};

В сервисах конфигурации мы данные константы объявляем явно, например в scr_SysEnums:

// Constants for enum _DirectionEnum
   dHorizontal = 0x00000000;
   dVertical = 0x00000001;

Использование: у элемента формы "Frame" есть свойство "Direction", тип которого _DirectionEnum. Соответственно из конфигурации ему можем присвоить значение dVertical = 1 выражением:
Frame.Direction = dVertical;

Интересующее Вас перечисление RoundingTypeEnum также описано в scr_SysEnums:

// Constants for enum _RoundingTypeEnum
drNone = 0x00000000;
drHalfEven = 0x00000001;
drHalfPos = 0x00000002;
drHalfNeg = 0x00000003;
drHalfDown = 0x00000004;
drHalfUp = 0x00000005;
drRndNeg = 0x00000006;
drRndPos = 0x00000007;
drRndDown = 0x00000008;
drRndUp = 0x00000009;
Показать все комментарии