同题!!
就好像Sql server里的EXEC()功能.DELPHI用的是什么语句?

解决方案 »

  1.   


    如果你是执行sql语句
    ADOQuery1.ExecSQL如果你是想执行button1.enabled:=true
    1.找脚本解析的控件
    2.界面上找button1,然后这是属性,这样肯能要修改一下数据的组织方式,便于你提取信息
      

  2.   

    我想执行:button1.enabled:=true ,不是执行sql语句
      

  3.   

    先取出字段的内容,然后看它是true还是false,显然为true,那么:button1.enabled:=true;你的思路是好的,但放在数据库中多此一举。可放在ini中、注册表中或用dfm格式来存储属性值
    推荐用Ini文件,解释起来最方便
      

  4.   

    我想做一个比较复杂权限控制表,要控制多个属性:如Readonly,visible,enabled等;如能在数据表中保存用户名和各控件名称以及各属性值,在程序运行时按据登录用户名直接读取数据表,并合并成一个可执行的语句(button1.enabled:=true;),再运行这个语句,以达到控制的目的,这样很方便,只是关键问题是:如何运行这个语句?不知有没有这样的方法?请各侠指点下实在不行使用其它方法
      

  5.   

    DELPHI的RTTI还是弱了点,做这样的东西估计技术难度比较大(真要做好的话),例如说反射方法会有限制,又没有动态代理。楼主还是看看能不能稍微从简点?
      

  6.   

    或者可以考虑试试一些Pascal脚本引擎,例如FastScript
      

  7.   


    权限控制可不能这样做呀,你可以用一个actionmanager管理actioin,按钮及菜单执行action,可以为每一个action设置不同的表示,比如tag,库中建立tag与操作项目的权限对应,在用户登录后,读取数据,判断tag是否有相应的权限对应,如果没有或者有,但是为0(权限不够),那么就把action的enable置为False
      

  8.   

    其实用Action这个只能控制菜单和Button这些,不能控制EDIT,DBGRID,MEMO等控件,觉得还不够灵活,所以才有想法,不过好像不太好操作,FastScript没用过,看功能说明好像可以
      

  9.   

    Action对于控制窗体函数是无能为力的,要控制窗体函数就只能靠AOP或动态代理,但是DELPHI这方面是缺陷。Action可以控制到控件的级别。
      

  10.   

    看看李维的inside vcl,办法是有的,难的是脚本解释
    如果想自己写的话就得啃编译原理了,就算直接照着lex & yacc的书也不是一时半会儿能弄出来的