Цитата(katmani @ Aug 21 2018, 17:46)

Всем Привет!
Подскажите плиз, как можно перевести данную строку на C++:
(Chart1.Tools.Items[0] as TCursorTool).FollowMouse:=true;
Chart1.Tools.Items[0] типа TTeeCustomTool, а обратиться к нему нужно как к TCursorTool
Просто назначить тоже не получается ошибку выдает на такое присвоение ChartTool1=Chart1->Tools->Items[0];
[bcc32 Error] bletest1.cpp(1594): E2034 Cannot convert 'TTeeCustomTool *' to 'TCursorTool *'
т.е. мне нужно получить координаты ChartTool1->XValue; но после импорта графика из файла *.tee, ChartTool1 пропадает, как и Series1.
Как к сериям после импорта обращаться, я уже научился: Chart1->Series[9]->YValues->Value[i];
а вот как к Тулсам обращаться через Chart1 непонятно. Нашел пример на делфи, но как его переделать на C++ не пойму. Вроде есть typeid, typeinfo, но как их переменить непонятно.
p.s. Embarcadero® C++Builder 10.2, TeeChart Pro v2017.20.170306 32bit VCL
TCursorTool* t = nullptr;
t = dynamic_cast <TCursorTool*> (Chart1->Tools->Items[0]);
if (t != nullptr) t->FollowMouse = true;
В принципе на нулл в данном случае проверять не надо.
https://ru.m.wikipedia.org/wiki/Динамическа...ция_типа_данных"
Оператор is позволяет проверить, является ли объект или тип наследником определённого типа, а оператор as используется для приведения объектов или интерфейсов от одного типа к другому, являясь аналогом dynamic_cast в C++.»