Работа со скриптами
При использовании в скрипте строки вида <frdsDataSetName."FieldName">
если поля FieldName нет в наборе данных то это выражение принимает значение 0 типа Double но ошибки о том что нет поля не выдаётся.
Это так задумано и если да то для чего ?
ЗЫ. Очень неудобно при синтаксических ошибках в имени поля
если поля FieldName нет в наборе данных то это выражение принимает значение 0 типа Double но ошибки о том что нет поля не выдаётся.
Это так задумано и если да то для чего ?
ЗЫ. Очень неудобно при синтаксических ошибках в имени поля
Комментарии
procedure Band4OnBeforePrint(Sender: TfrxComponent);
begin
Memo8.Text := <Customers."Comp8any">;
end;
ошибка выдается, как и положено.
не работает если
Memo19.Lines[0] := 'SomeText( ' + <frdsDataSet."FieldName"> + ' SomeText)'
При этом если поле отсутствует то получаем EConvertError не могу преобразовать тип String в тип Double
Memo8.Text := 'SomeText' + <Customers."Comp8any"> + 'SomeText';
У меня получается не Assigned(FOnCall) соответственно я получаю значение 0
Интересно почему 0 а не Null или Unassigned ?
ds.Value[fld] возвращает Null и пишет frxErrors ошибку
ds.FieldType[fld] если не находит поле возвращает fftNumeric
соответственно получаем EConverterror так как ожидали String затем
по результатам frxErrors получаем сообщение о отсутствии поля.