Проблемы с преобразованием типов

отредактировано 08:29 Раздел: FastReport 3.0
procedure DBCross1OnPrintCell(Memo: TfrxMemoView; RowIndex, ColumnIndex, CellIndex: Integer; RowValues, ColumnValues, Value: Variant);
var s1,s2,s3:Variant;
i:integer;
begin
if VarToStr(ColumnValues[0]='32') then
begin
i:=1;
Memo.Text:=IntToStr(s);
Memo.color:=clred;
end;
end;

При выполнении выдается ошибка: "invalid variant type conversion"
(Fastr Report 3.0 Delphi6)

Комментарии

  • отредактировано 08:29
    Установите Upd2 для Delphi
  • отредактировано 08:29
    И вот эта конструкция -
    if VarToStr(ColumnValues[0]='32') then
    наверное, имелось в виду
    if VarToStr(ColumnValues[0])='32' then
  • отредактировано March 2005
    Неужели FR 3.0 не орёт ошибку при
    if VarToStr(ColumnValues[0]='32') then
    
    ???

    ИМХО должен видеть что результат VarToStr это строка, а не Boolean, и орать синтаксическую ошибку как это делает нормальный компилятор или интерпретатор ...
  • отредактировано 08:29
    В данном случае условие прекрасно преобразуется к типу Boolean и ошибки не возникает. Не забываем, что FS везде использует тип Variant...

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.