Ошибки интерпретатора в версии 3.15
Взял демопроект FastReport 3 (от 25.06.2005)
Создал запрос q : TfxBdeQuery;
В скрипте повесил обработчик:
q.DatabaseName := 'DBDemos';
q.SQL.Clear;
q.SQL.Add('Select * from "orders.db" where CustNo=:Nomer');
q.ParamByName('Nomer').Value := 6;
q.Open;
Ошибка - не указан тип.
А тип указать явно невозможно (отсутствует регистрацич свойств класса TParam), то есть нельзя написать
q.ParamByName('Nomer').AsInteger := 6;
Так как для класса TParam не зарегистрированы свойства
А ведь раньше то работало и у меня во всех отчетах так и написано:
q.ParamByName('Nomer').Value := 6;
Где в исходниках исправить?
Создал запрос q : TfxBdeQuery;
В скрипте повесил обработчик:
q.DatabaseName := 'DBDemos';
q.SQL.Clear;
q.SQL.Add('Select * from "orders.db" where CustNo=:Nomer');
q.ParamByName('Nomer').Value := 6;
q.Open;
Ошибка - не указан тип.
А тип указать явно невозможно (отсутствует регистрацич свойств класса TParam), то есть нельзя написать
q.ParamByName('Nomer').AsInteger := 6;
Так как для класса TParam не зарегистрированы свойства
А ведь раньше то работало и у меня во всех отчетах так и написано:
q.ParamByName('Nomer').Value := 6;
Где в исходниках исправить?
Комментарии
TfxBdeQuery(q).ParamByName('Nomer')
имеет тип TfrxParamItem, а не TParam.
Поэтому и свойств типа AsXXX у него нет.
Хотя, если бы Александр их туда добавил, то было бы неплохо.
А тип параметра задать можно.
TfrxParamItem.DataType имеет стандартный тип TFieldType.
Так что пиши
q.ParamByName('Nomer').DataType := ftInteger;
q.ParamByName('Nomer').Value := 6;
В общем изучай исходники, они рулез