以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [分享]关于狐表编程的一点心得 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=27077) |
-- 作者:菲舍尔 -- 发布时间:2012/12/21 11:07:00 -- [分享]关于狐表编程的一点心得 使用狐表差不多一年左右了,也写了几个小项目,现就一些狐表编程的一些心得和大家分享一下:
一、事件驱动 什么叫做事件驱动?狐表中所有对象都有不同的事件,我们编程就是为不同的事件编写代码,以响应事件的发生,达到我们的编程目的。 在编写事件驱动的代码时,大家要注意一个原则,就是在事件处理的代码中不应该有触发该事件的代码。 怎么理解呢?下面举一个例子: 论坛上有一个帖子是关于模式窗口的,楼主的本意是,在窗口退出时,提示用户是否退出,如果是,就退出项目,如果否就返回窗口。为达到目的,楼主在窗口的beforeclose事件中写了如下的代码: If MessageBox.Show("退出吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = 6 表面上看,这段代码时没有问题的,但实际上执行时就会发现:当你点是的时候,程序陷入了死循环状态 为什么呢? 原因就是,这段代码本身是处理beforeclose事件的,而执行这段代码的时候,窗口还没有关闭,因此, 当 Syscmd.Project.Exit()执行的时候,又会引发另一个beforeclose事件,所以就陷入了死循环当中。 正确的写法应该是这样: 在beforeclose事件中写: If MessageBox.Show("退出吗?","提示",MessageBoxButtons.YesNo,MessageBoxIcon.Question) = DialogResult.no \'当用户点击否的时候 在afterclose事件中写: Syscmd.Project.Exit()
这样就不会发生错误了。
(未完待续)
|
-- 作者:狐狸爸爸 -- 发布时间:2012/12/21 11:20:00 -- 呵呵,先给精华,再等后续篇章
|
-- 作者:lin_hailun -- 发布时间:2012/12/21 11:50:00 -- 期待楼主写学习心得。 |
-- 作者:blackzhu -- 发布时间:2012/12/21 13:22:00 -- 老大 这个退出事件 我以前也纠结过.以前还跟人讨论过,也是范了同样的错误.这个范例老大应该写入帮助的. 小鱼儿(费舍尔,因为NBA的一个大牌球员叫老鱼,英文名叫费舍尔,所以呵呵!)写了20多年的代码,经验无可比拟.因为小鱼儿已经和一些狐友成立一个工作室(我也参与在内),专门做狐表的项目支持,技术支持,模块支持,教学支持的一些具体工作,所以会写一些专门的文章来提高知名度.望各位老大支持下. 有项目需求(不管是项目的,模块的,技术的)可以加入能量软件工作室客户群 群号:114738135 非诚勿扰. 声明一点,需要收费,费用群内谈.
|
-- 作者:万通 -- 发布时间:2012/12/21 14:23:00 -- 以下是引用blackzhu在2012-12-21 13:22:00的发言:
老大 这个退出事件 我以前也纠结过.以前还跟人讨论过,也是范了同样的错误.这个范例老大应该写入帮助的. 小鱼儿(费舍尔,因为NBA的一个大牌球员叫老鱼,英文名叫费舍尔,所以呵呵!)写了20多年的代码,经验无可比拟.因为小鱼儿已经和一些狐友成立一个工作室(我也参与在内),专门做狐表的项目支持,技术支持,模块支持,教学支持的一些具体工作,所以会写一些专门的文章来提高知名度.望各位老大支持下. 20多年的代码经验,看来牛人一个啊!呵呵。 |
-- 作者:菲舍尔 -- 发布时间:2012/12/21 15:57:00 -- 多谢各位老大的打赏,我会更有动力完成这篇文章的 |
-- 作者:mam0094 -- 发布时间:2012/12/21 16:52:00 -- 以下是引用blackzhu在2012-12-21 13:22:00的发言:
老大 这个退出事件 我以前也纠结过.以前还跟人讨论过,也是范了同样的错误.这个范例老大应该写入帮助的. 小鱼儿(费舍尔,因为NBA的一个大牌球员叫老鱼,英文名叫费舍尔,所以呵呵!)写了20多年的代码,经验无可比拟.因为小鱼儿已经和一些狐友成立一个工作室(我也参与在内),专门做狐表的项目支持,技术支持,模块支持,教学支持的一些具体工作,所以会写一些专门的文章来提高知名度.望各位老大支持下.
有项目需求(不管是项目的,模块的,技术的)可以加入能量软件工作室客户群 群号:114738135 非诚勿扰. 声明一点,需要收费,费用群内谈.
完了,看来今后别想从你们嘴里抢食了,, 呵呵! |
-- 作者:sunbrain -- 发布时间:2012/12/22 0:24:00 -- 支持 |
-- 作者:temblar -- 发布时间:2013/1/4 15:52:00 -- (未完待续) 继续等,楼主的这条经验已经应用,谢谢。 |