0

有谁知道 Delphi 2009 及以下版本的免费库,它允许您动态调用方法?

我已经开始为此编写自己的代码,但我觉得它超出了我的范围。

谢谢

4

2 回答 2

2

你的问题比较模糊。除了后期绑定和脚本之外,它还可能意味着使用一个直到运行时才知道名称的方法。

这分为两类,COM 方法(使用变体类型)或使用 RTTI 找到和调用的 Delphi 方法。尽管 RTTI 在最新的 Delphi 版本中发生了变化,但我认为 http://www.blong.com/Conferences/BorConUK98/DelphiRTTI/CB140.htm将适用于 D2009

于 2012-09-27T00:28:33.280 回答
1

“动态调用方法”可能意味着许多不同的事情。简单的后期绑定以声明为virtualor的方法的形式内置于语言中dynamic,您可能一直都在使用它们,尤其是virtual那些。

但是谈论“动态调用方法”通常会进入脚本领域,从而可以获取一个对象并让最终用户在运行时通过使用方法的名称来决定调用哪个方法。如果你想要,你需要一个 Delphi 的脚本库。

DWS(Delphi Web Script)运行良好,作者声称它支持 D2009,尽管积极的开发工作是在 XE 上进行的。此外,顾名思义,DWS 的设计主要考虑了 Web 开发,因此将脚本绑定到本机代码领域中的对象的框架比它应该的要复杂得多。

另一个主要的替代方案是 RemObjects 的PascalScript库。它支持比 D2009 更早的版本,并且它的对象绑定系统比 DWS 简单得多。不幸的是,它的速度也慢得多,而且作者也没有很好地支持它。但是,特别是对于简单的脚本,任何一个都应该让您能够允许用户动态地自动化您程序中的内容。

于 2012-09-26T23:05:56.470 回答