我有多个指针,它们的每个名称都是这样构建的'str'+'name'
。因此,假设指针 1 的名称为strpointer1
,指针 2 的名称strpointer2
以此类推;
我将所有这些名称存储在某个地方,并且在某个时刻,我会将指针 1 的名称保存在一个字符串变量中,此时我需要对该指针执行一些操作。
当我只有一个字符串中的他的名字时,如何使用该指针?
更好的解释(我希望):
我试图使用 devexpress 套件的本地化组件来翻译从 sql 表中生成的菜单;
例如:对于菜单的“文件”组件的标题,您在本地化程序中声明其他语言的翻译,您将获得指向这些翻译的指针(由我命名为“filecap”)。
当我在设计时绘制菜单时,我会像这样分配 File.caption:
File.caption := cxgetresourcestring(@filecap);
函数 cxgetresourcestring(apointer):string;
但我正在动态地绘制菜单:我正在从 TTable 中读取我的菜单项,然后我将它们存储在一个动态数组中。所以这就是我所说的那一刻,通常我会这样做:
MenuItems_Array[i].caption := tbl_menu.fieldbyname('MenuItemName').asstring;
但现在我想使用定位器我试过这个:
MenuItems_Array[i].caption := cxgetresourcestring(tbl_menu.fieldbyname('MenuItemName').asstring);
这当然会返回一个错误:指针类型和字符串不匹配;