跟大家讨论一个问题,菜单和窗口可以利用表和按钮自动生成的.但是生成的控件代码只能写在全局事件里我觉得不是很合理.
因为我们设计项目的时候,很多问题都考虑清楚后设计的,而且测试成功才能使用.但是万一一个项目交货了.用了后客人觉得要添加一个窗口或者菜单控件,那么我可以在做项目是预先设计一个窗口绑定一个表做一个按钮一起交给客人,到时告诉他怎么用,但是我根本不知道他需要起什么作用,所以也就不可能在全局事件中预先写好代码?那么这个事情的处理就比较麻烦了,我不见得重新拆开来再做一个.
我在想能不能在全局事件的每一个事件释放一个单元格的内容,这个单元格的内容就是代码,只要释放进去就起到代码的作用.
比如:
然后在全局Click事件中加入如下代码:
For Each dr As DataRow In DataTables("表A").DataRows
if e.Sender.ame.StartsWith("打开窗口") then
.......= dr("代码")
Next
End If
这样处理行不?
既然根本不知道人家要这个按钮起什么作用,也就根本无法写代码,所以这跟代码放到哪里没关系,您就是给人家预备好一个按钮,也要事先知道客人要这个按钮来实现什么功能,因此,与您的课与您的客户的先期沟通才是最重要的,既然是后期提出的功能,改写程序也就成了必然。
所有表都采用外部数据源,更新时直接更新foxtable文件才是硬道理,这样对用户数据无任何影响,您那样做就是实现了也不安全。
[此贴子已经被作者于2011-8-17 10:36:10编辑过]
程版,你的说法不对的,人家只要告诉要求,你写好代码.叫人家在粘贴在DR("代码")的单元格里面,只要按钮生成控件后,系统自动找到名字默认DR("代码")单元格的内容,就可以使用控件了.
建议利用自定义函数来实现。如:先自定义一些函数,分别对应窗口中的按钮1,按钮2,。。。。这些函数只有简单的return语句(即不执行任何操作),当明确用户意图时,再来修改自定义函数,实现具体功能。
不知道怎么下手:
能不能定义一个值
这个值等于当然("代码"),在全局事件中返回这个值,没有示例,不太明白.