如何删除 TChart (FMX, C++)
How to delete TChart (FMX, C++)
我不知道如何删除 TChart
。这必须很简单,但我没有看到。在下面的 TListView ButtonClick
代码中,我从活动 TChart
中删除了一个系列,如果该系列恰好是最后一个,那么我想删除整个 TChart
.
TComponent *T; // find chart and delete the selected series
for (int i = 0; i < (Form1->ComponentCount); i++) {
T = Form1->Components[i];
if (T->ClassName() == "TChart") {
int test = T->Tag;
if (test == TappedChartTag) { //TappedChartTag is global
if (TChart *TC = dynamic_cast<TChart *>(T)) {
TC->RemoveSeries(AItem->Index); // this removes the series
if (TC->SeriesCount()==0) { // if this was last series, delete chart
TC->CleanupInstance();
}
}
}
}
}
我找不到完全摆脱 TChart
的方法。 TC->CleanupInstance();
将其完全擦除(看不到),但 TChart
仍然存在。
我在 Embarcadero Rad Studio(C++ Builder 10.3 更新 1)中工作。
UPDATE:我尝试用 delete TC;
代替 TC->CleanupInstance();
并且它适用于 Win32 但不适用于 iOS.
好的,基于 Remy 提供的解决方案 我现在已经可以使用了。我只是将 TC->CleanupInstance();
替换为一行以设置等于组件索引 delINT = i
的整数。然后在遍历组件的循环下面我放了这个简单的代码:
if (delINT > 0) {
Form1->Components[delINT]->DisposeOf();
}
我让事情变得比应该的更难。我无法在之前的代码中调用 DisposeOf()
,因为它脱离了上下文。在这种情况下,它工作正常(在 Win32、iOS 和 Android 上)。
我不知道如何删除 TChart
。这必须很简单,但我没有看到。在下面的 TListView ButtonClick
代码中,我从活动 TChart
中删除了一个系列,如果该系列恰好是最后一个,那么我想删除整个 TChart
.
TComponent *T; // find chart and delete the selected series
for (int i = 0; i < (Form1->ComponentCount); i++) {
T = Form1->Components[i];
if (T->ClassName() == "TChart") {
int test = T->Tag;
if (test == TappedChartTag) { //TappedChartTag is global
if (TChart *TC = dynamic_cast<TChart *>(T)) {
TC->RemoveSeries(AItem->Index); // this removes the series
if (TC->SeriesCount()==0) { // if this was last series, delete chart
TC->CleanupInstance();
}
}
}
}
}
我找不到完全摆脱 TChart
的方法。 TC->CleanupInstance();
将其完全擦除(看不到),但 TChart
仍然存在。
我在 Embarcadero Rad Studio(C++ Builder 10.3 更新 1)中工作。
UPDATE:我尝试用 delete TC;
代替 TC->CleanupInstance();
并且它适用于 Win32 但不适用于 iOS.
好的,基于 Remy 提供的解决方案 TC->CleanupInstance();
替换为一行以设置等于组件索引 delINT = i
的整数。然后在遍历组件的循环下面我放了这个简单的代码:
if (delINT > 0) {
Form1->Components[delINT]->DisposeOf();
}
我让事情变得比应该的更难。我无法在之前的代码中调用 DisposeOf()
,因为它脱离了上下文。在这种情况下,它工作正常(在 Win32、iOS 和 Android 上)。