Непонятки с TMAType

Образцы, куски исходников, вопросы. Обсуждаем программирование.
Ответить
Сообщение
Автор
Kvaz
Сообщения: 2
Зарегистрирован: Ср янв 31, 2007 9:20 am

Непонятки с TMAType

#1 Сообщение Kvaz » Ср янв 31, 2007 9:33 am

вот этот код в окошке настройки стратегии выдает illegal value. Значение устанавливается, но при повторном заходе в окно настройки снова illegal value.

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

uses
  SysUtils,  Classes,  System, StrategyInterfaceUnit, TechnicalFunctions;

var
  MAType: TMAType;

procedure InitStrategy; stdcall;
begin

  RegOption('MAType', ot_EnumType, MAType);
  AddOptionValue('MAType', 'Simple (SMA)');
  AddOptionValue('MAType', 'Exponential (EMA)');
  AddOptionValue('MAType', 'Weighted (WMA)');
  AddOptionValue('MAType', 'Smoothed (SMMA)');
  MAType := ma_SMA;

end;
если MAType : integer, то ошибку не выдает, но не работает StrMAType. Что я делаю не так?

В принципе, легкая рихтовка StrMAType решила проблему, но как оно все-таки должно работать? :)

Аватара пользователя
Terranin
Site Admin
Сообщения: 846
Зарегистрирован: Вс июл 23, 2006 12:01 pm

Re: Непонятки с TMAType

#2 Сообщение Terranin » Пт фев 02, 2007 3:31 am

Kvaz писал(а):вот этот код в окошке настройки стратегии выдает illegal value. Значение устанавливается, но при повторном заходе в окно настройки снова illegal value.

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

uses
  SysUtils,  Classes,  System, StrategyInterfaceUnit, TechnicalFunctions;

var
  MAType: TMAType;

procedure InitStrategy; stdcall;
begin

  RegOption('MAType', ot_EnumType, MAType);
  AddOptionValue('MAType', 'Simple (SMA)');
  AddOptionValue('MAType', 'Exponential (EMA)');
  AddOptionValue('MAType', 'Weighted (WMA)');
  AddOptionValue('MAType', 'Smoothed (SMMA)');
  MAType := ma_SMA;

end;
если MAType : integer, то ошибку не выдает, но не работает StrMAType. Что я делаю не так?

В принципе, легкая рихтовка StrMAType решила проблему, но как оно все-таки должно работать? :)
MAType и должно быть integer, поскольку ot_EnumType это эквивалент типа integer. Просто потом надо будет привести тип TMAType(MAType) где потребуется.
Asta la vista
Mike

Ответить