最新问答 更多

关注我们

关注我们

了解我们的产品和服务,有任何疑问、意见或合作需求,可关注本微博与我们在线沟通。

盒子问答悬赏微博

[单人中标] delphi7 :能否如何通过方法名调用方法

分享任务:
问题已结束!
30
发布者 newsun
浏览量
回答数 3

任务详情

假设有一个对象有一个类如何:



Tx1Control=class(TComponent)

public

     procedure Action1(S:String); // 所有ACTION参数形式一样

     procedure Action2(S:String);

     .....//更多的action

end;



Tx2Control=class(TComponent)

public

     procedure Action1(S:String); // 所有ACTION参数形式一样

     procedure Action2(S:String);

     .....//更多的action

end;



现有一个函数,根据输入的类名和Action名字就能动态调用该类的方法

如:

procedure   Run(AClass:TClass:A:String;S:String);

var

    obj:TComponent;

begin

    obj:=AClass.Create;

    if A='Action1' then obj.Action1(S)

    else A='Action2' then obj.Action2(S);

   //还有很多的Action.....

    

end;



显然,RUN中这种方法太死了,对于还有很多action来说,是不行的。

有没有更灵活的方法呢?

  • stiven:  好像是不行的。

      回答于:2013/10/23 16:39:01      #1楼 奖励火柴:0
    用户头像
  • clark: 
    把函数都定义到published下 然后用MethodAddress函数

      回答于:2013/10/25 14:03:49      #2楼 奖励火柴:0
    用户头像
  • dbyoung: 来晚了, clark 回答的是对的。
    
    

      回答于:2013/10/28 10:07:41      #3楼 奖励火柴:0
    用户头像
刷新 首页 上一页 下一页 末页 页次1/1页 共 3 条记录  转到:
x
您的任务被发布者审核为不合格

原因

详细说明

关于盒子问答
盒子问答为广大程序员提供一个迅速解决问题的好途径,帮助有编程疑惑的程序员轻松发问答。同时授业解惑的人,可以得到相应的收入。帮人解答并赚钱就来盒子问答。
联系我们
我们的服务支持邮件:webmaster@2ccc.com,支持qq:161945
如有建议或意见,可通过右侧“用户反馈”告诉我们
收藏本站
用户反馈