【发布时间】:2013-02-20 04:54:37
【问题描述】:
我在运行时制作了按钮组件,我希望在那里单击的每个按钮都执行唯一的过程。
例如
exec('showmessage('+quotedstr('hello word')+');');
如何在 delphi 7 中像 php 中的 eval 或 delphi xe3 中的 livebinding 一样将字符串作为过程执行?
【问题讨论】:
-
Delphi是编译好的,所以php中没有
eval这样的东西,你可能误解了LiveBinding是什么 -
嗯。 Delphi 不是 PHP……甚至在 PHP 中,
eval几乎总是错误的处理方式。 :P Delphi 是否有任何与 lambda、匿名函数或其他等价物? -
你可以使用像remobjects.com/ps.aspx这样的脚本引擎
-
离开键盘一秒钟。你一次做这么多错事,太可怕了。 :P Delphi 没有
eval。即使确实如此,从数据库中评估代码也是各种等待发生的问题。退后一步,想想你真正想要做什么......以及在一种无法即时解释自己的语言中这如何可能是可行的。 -
如果您停止尝试将代码 存储在数据库中,那么如何执行它的整个问题就会消失。考虑一下。为什么要将文本代码存储在数据库中(或任何地方)?请考虑使用模板系统;数据库存储各种值,您可以将它们插入到已编写的函数中,因此您只需将有限数量的值作为参数传递给这些函数。