社区
C++ Builder
帖子详情
字符串映射到函数名.
tree2000
2006-09-18 04:17:45
以前在CSDN上看了一篇文章说,可以将字符串MAP成函数名,然后已知字符串,调用到对应的函数.
不知道哪位还记得.
或者有更好的方法.
...全文
420
14
打赏
收藏
字符串映射到函数名.
以前在CSDN上看了一篇文章说,可以将字符串MAP成函数名,然后已知字符串,调用到对应的函数. 不知道哪位还记得. 或者有更好的方法.
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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++里,只能自己维护一个对应表了。
java用JNA调用dll实例,包含各种参数调用
通过`com.sun.jna.FunctionMapper`,你可以指定一个
函数
名
到Java方法的
映射
规则。 6. **
字符串
**:JNA支持NUL终止的C风格
字符串
,你可以使用`String`或`WString`(宽字符)类型作为参数。对于输入
字符串
,直接传递...
【C++】将
字符串
转换为相应的
函数
进行调用
循环生成其
函数
名
对应的
字符串
(spintf
函数
) 利用
函数
指针得到相应
字符串
对应的
函数
#include <iostream> #include <string.h> using namespace std; typedef int (*funcP)(int k); //定义类型,...
js将
字符串
作为
函数
名
调用
函数
解决:用eval
函数
,
字符串
转换为命令行执行都可以通过eval
函数
。 计算 JavaScript
字符串
,并把它作为脚本代码来执行。 function loadForm(itemCode){ for(var i=0;i<ITEMCODEARR.length;i++){ if...
通过
函数
名
称
字符串
发起调用/
函数
名
反射
如果要使用
函数
名
称
字符串
发起调用,目标在于通过
字符串
找到
函数
对象。
函数
```python def func(a): print("global function func", a) ``` 显示的从全局命
名
空间中查找 python 当中,全局的命
名
空间可使用...
lua
函数
转
字符串
传递,然后转换成
函数
再执行
functionTestStrFunc() ...--把
函数
序列化成
字符串
来保存 fstr=string.dump(TestStrFunc) Log.Log('fstrtype='..tostring(type(fstr))) Log.Log('fstr='..tostring(fstr)) --把
字符串
反序列化成
函数
...
C++ Builder
13,871
社区成员
102,693
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章