社区
C++ Builder
帖子详情
字符串映射到函数名.
tree2000
2006-09-18 04:17:45
以前在CSDN上看了一篇文章说,可以将字符串MAP成函数名,然后已知字符串,调用到对应的函数.
不知道哪位还记得.
或者有更好的方法.
...全文
462
14
打赏
收藏
字符串映射到函数名.
以前在CSDN上看了一篇文章说,可以将字符串MAP成函数名,然后已知字符串,调用到对应的函数. 不知道哪位还记得. 或者有更好的方法.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
柯本
2006-09-19
打赏
举报
回复
谢谢老妖夸奖!
ccrun.com
2006-09-19
打赏
举报
回复
keiy最近很努力啊。
dronly
2006-09-19
打赏
举报
回复
学习了~~~
柯本
2006-09-18
打赏
举报
回复
呵呵,比老妖晚了一步
柯本
2006-09-18
打赏
举报
回复
另外,如果是继承TObject类中的 __published函数,可用MethodAddress得到它的地址,然后调用
如:
lass A:public TObject
{
__published:
void test() {ShowMessage("ok");}
};
void __fastcall TForm1::Button1Click(TObject *Sender)
{
A *p=new A;
void ( *x)(); //定义函数指针
A::test; //必须,否则,BCB不会将函加入程序.此行不会产生任何代码,只是告诉link,程序要用A::test函数
x=(void ( *)()) p->MethodAddress("test"); //找到test函数地址,相当于java的反射
if (x!=NULL)
x(); //调用p->test();
}
ccrun.com
2006-09-18
打赏
举报
回复
TObject有个MethodAddress的方法,结合TMethod类就可以实现了。
Google搜索MethodAddress和TMethod
wzd268
2006-09-18
打赏
举报
回复
java里面是有的
C++不了解
jiangshx
2006-09-18
打赏
举报
回复
顶!
板凳,听课!
LuoGD
2006-09-18
打赏
举报
回复
一个变通的方法,用String 与函数指针一一对应起来:
typedef map<AnsiString, FuncPtr*> FuncMap;
FuncMap funcs;
funcs["function1"] = function1;
funcs["function2"] = function2;
AnsiString funcName = "function1";
funcs[funcName](param1,param2);
netliuming
2006-09-18
打赏
举报
回复
c++可以吗?倒很想知道
铖邑
2006-09-18
打赏
举报
回复
LoadLibrary
GetProcAddress
juqiang
2006-09-18
打赏
举报
回复
loadlirbrary不可以吗?然后用函数指针来调用
lurel
2006-09-18
打赏
举报
回复
应该可以吧,但涉及到地址问题,是不是有些麻烦呢?
Maconel
2006-09-18
打赏
举报
回复
java,c#之类的还可能,
c++里,只能自己维护一个对应表了。
500条结婚标语.pdf
500条结婚标语.pdf
考虑不确定性的含集群电动汽车并网型微电网随机优化调度研究(Matlab代码实现)
考虑不确定性的含集群电动汽车并网型微电网随机优化调度研究(Matlab代码实现)
skill批量化生产视频.zip
花叔的内容创作 Skills 合集 - AI审校、选题生成、视频大纲、素材搜索等 11 个实用技能
车-电-路网时空分布负荷预测研究(Matlab代码实现)
车-电-路网时空分布负荷预测研究(Matlab代码实现)
【配电网重构】基于混合整数二阶锥配电网重构研究(Matlab代码实现)
【配电网重构】基于混合整数二阶锥配电网重构研究(Matlab代码实现)
C++ Builder
13,874
社区成员
102,696
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章