Добрый день.
Подскажите пожалуйста алгоритм доступа к перечислениям TSObjectLibrary > Перечисления.
Нравится
Добрый день, Станислав.
Уточните пожалуйста что Вы имеете в виду?
Механизм доступа к сервису перечисления "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;