社区
非技术区
帖子详情
10万火急,重分悬赏200分
wylove
2002-03-01 04:11:20
谁能够告诉我在Delphi中如何实现"宏代换",例如函数名称为一个字符串变量myfunc="function1",如何通过myfunc这个变量来调用function1这个函数?多谢!只要能够解答者,都给分!
...全文
41
6
打赏
收藏
10万火急,重分悬赏200分
谁能够告诉我在Delphi中如何实现"宏代换",例如函数名称为一个字符串变量myfunc="function1",如何通过myfunc这个变量来调用function1这个函数?多谢!只要能够解答者,都给分!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xys
2002-03-01
打赏
举报
回复
gz
光明山人
2002-03-01
打赏
举报
回复
以下两种情况可以:
1.是输出的函数:
按照Windows的方法就行了。
// 定义函数的地方
procedure MyProc( p: Integer ); export; stdcall;
begin
// do what you want to do
end;
exports
MyProc;
// 调用的地方
type
TMyProc = procedure(p: Integer);
procedure InvokeMyProc(
const sProcName: String; // 过程名
param: Integer // 参数
);
var
aProc: TMyProc;
begin
aProc := GetProcAddress( hInstance, PChar(sProcName) );
TMyProc(aProc)( param );
end;
// 使用范例
InvodeMyProc( 'MyProc', 1 );
2.是类对象中的published方法:
type
TMyMethod = procedure(p: Integer) of object;
procedure InvokeMyMethod(
Obj: TObject; // 对象
const MethodName: String; // 方法名
param: Integer // 参数
);
var
aMethod: TMethod;
begin
aMethod.Code := Obj.MethodAddress( MethodName );
aMethod.Data := Obj;
TMyMethod(aMethod)( param );
end;
//////////////////////////
其实,还有一种方法:
if ProcName='MyProc' then
MyProc( 100 );
当然,你不会愿意这么用的,我这样说你还会骂我呢。
zyp9702
2002-03-01
打赏
举报
回复
在DELPHI没有宏代换这个功能,你可以定义一个函数,用一个参数来表示你所要进行的功能.例如:FUNCTION AA(I:STRING)
当I为1时进行增加操作;
当I为2时进行删除操作;
等等.
Liujc
2002-03-01
打赏
举报
回复
type TMyfunc = function (参数定义) :返回值 ;
var
MyFunc :TMyfunc ;
function fun1...
begin
...
end ;
...
begin
myfunc := @fun1 ; //赋值
myfunc() ;//调用
end ;
yangkunjie
2002-03-01
打赏
举报
回复
20分?
quantum
2002-03-01
打赏
举报
回复
切......,你以为是VB啊?
互联网摸鱼日报(2022-11-
10
)
中国卓越技术团队访谈录(2022 年第四季)基于深度学习的ORM自动化及代码生成实践Google Cloud + Mandiant: 未来安全合规的现代化变革...星汉未来全国开发者
悬赏
计划AI时代,图神经网络将走向何方?李彦宏:过去一年
萧何月下追韩信时候,韩信对项羽的这个评价是否属实
萧何月下追韩信时候,韩信对项羽的这个评价是否属实
悬赏
分
:15 - 解决时间:
200
8-3-21 18:38萧何月下追韩信时候,韩信说:“我个人也认为您不如他,不过我曾经是项羽的手下,我来给您讲讲他的为人。项羽这个人英雄...
我在CSDN参与的3000个帖子
今日偶然翻到,感慨
万
千 1:申述:版主,是否扣了我的专家
分
? 2:
10
0
分
急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望高手帮忙! 5:呵呵,来推荐...
人生哲理枕边书——你应该知道的165个人生哲理
她在来哈佛大学前,学习成绩一直很好,但到哈佛后最好的成绩只不过是4
分
。 以前,从来都是别人向她请教,但现在,却是她要经常向别人请教。因此,丽莎当初那份引以为自豪的自信已荡然无存。原先,丽莎一直是教师...
Python—2023 |已有文章汇总 | 持续更新,直接看这篇就够了
安排【附表白源码】 项目1.6 不能拒绝的表白 堂哥30了还是单身狗,我用Python写了一个百
分
之百表白成功的脚本给他 项目1.7 恋爱纪念日 【Python纪念册】一屋两人三餐四季:“距离百年好合只剩xx年了~“多少?...
非技术区
829
社区成员
53,611
社区内容
发帖
与我相关
我的任务
非技术区
Delphi 非技术区
复制链接
扫一扫
分享
社区描述
Delphi 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章