如何更改 C++ 构建器中 TMenuItem 的可见性?

How to change visibility of TMenuItem in c++ builder?

我正在使用 C++ Builder 开发应用程序。 我想遍历 MainMenu 中的所有 TMenuItems,因为我想更改其中一些的标题。 我使用了这段代码:

 int numAction = MainMenu1->Items->Count;
 for (int i=0;i<numAction;i++)
 {
        TMenuItem* tmpAction = &MainMenu1->Items[i];
        tmpAction->Caption = "Test Caption";
 }

我认为它应该可以工作,但我总是遇到应用程序崩溃的问题。有这样的留言:

Debugger Exception Notification Project Project1.exe raised exception class EAccessViolation with message Access violation at address 501C380E in module vcl120.bpl. Read of address 0000003C.

任何帮助将不胜感激。

TMenu 有一个 属性 类型

_property TMenuItem* Items

依次有一个 属性 数组类型

__property TMenuItem* Items[int Index]

所以,解决方案是(n.m。已经注意到)写

TMenuItem* tmpAction = MainMenu1->Items->Items[i];