如何在程序中执行动态生成的Delphi代码

如何在程序中执行动态生成的Delphi代码,第1张

你这种需求实际上是把 delphi 当作动态脚本语言来解释执行,

作为编译性的迹盯静态 delphi 语言,其本身不支持的

但是你可以利用一些第三方组件库来实现这种姿晌和需求,

这些第三方谨携组件库提供了解释运行 delphi 脚本语句的功能

例如 ScripterStudio

如果你仔细看过VCL的源代码,你会发现控件的事件实际上也是一个属性。只不过这个属性的数据类型比较特别,是一个指向对象方法的指针皮卖。

所以你只要写一个形参与目标一致燃拍逗的方法,然后动态生成一个对象,再贺巧把这个方法作为地址(就是只用方法名)赋值给动态生成对象的事件就可以了。实际上这个赋值 *** 作是把动态生成对象的这个事件(方法指针)指向了你写的这个方法的入口地址。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12402808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存