Как получить доступ к логическому значению в параметре const TValue & Value в событии C++ FireMonkey TStringGrid::OnDrawC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к логическому значению в параметре const TValue & Value в событии C++ FireMonkey TStringGrid::OnDraw

Сообщение Anonymous »

Я пытаюсь проверить логическое значение из логического столбца в событии FMX TStringGrid::OnDrawColumnCell.
Обратный вызов имеет следующие параметры:

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

void __fastcall TMainForm::SegmentStringGridDrawColumnCell(TObject *Sender, TCanvas * const Canvas, TColumn * const Column,
const TRectF &Bounds, const int Row, const TValue &Value, const TGridDrawStates State)
Если я попытаюсь прочитать Value.AsBoolean, я получу следующую ошибку:

[bcc64x Error ] main.cpp(235): аргумент this функции-члена AsBoolean имеет тип const System::Rtti::TValue, но функция не помечена как const
Если Я пытаюсь объявить неконстантное TValue и назначить его константному TValue:

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

    TValue MyValue;
#ifndef __clang__
MyValue = TValue::_op_Implicit(Value);
#else
MyValue = TValue::From(Value);
#endif
bool myVal = MyValue.AsBoolean();
Код компилируется и связывается, но во время выполнения я получаю следующее исключение:

класс исключения EInvalidCast с сообщением "Неверное приведение типа класса"

Исключение возникает, когда я пытаюсь получить доступ к MyValue.AsBoolean().
Как мне получить доступ к значение из const TValue &Value?

Подробнее здесь: https://stackoverflow.com/questions/792 ... emonkey-ts
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»