
编程调试手记
king_xing
这个作者很懒,什么都没留下…
展开
-
一次按键,触发二次OnKeyPress事件!
OnKeyPress事件中有释放动作,二次触发,使得产生AV错误!!这是个偶发性的BUG,改为onKeyDown事件!原创 2013-01-21 22:47:45 · 3332 阅读 · 0 评论 -
loopup、计算字段如果是汉字字段,不能用TWideStringField!
编程环境:D7、用ADO连接DB,ClientDataSet作内存表!BUG:直接从ADOQuery字段中拷贝到ClientDataSet,loopup汉字字段显示不完整!改回TStringField字段就OK了!原创 2013-01-21 22:44:20 · 1228 阅读 · 0 评论 -
WM_Char消息和WM_KeyDown消息!
在Application.OnMessage事件中处理一些全局按键,如WM_KeyDown消息将回车键转换为TAB键,但单引号则在此消息中不好处理。用WM_Char消息则方便很多!!一个符号按键(包括数字字母)会产生WM_KeyDown消息,也会产生WM_Char消息原创 2013-01-21 22:55:17 · 2168 阅读 · 0 评论 -
谨用OnChange事件!
一、不要在OnChange事件中作释放动作!这个就不多说了,有实际项目经验的人都知道啦! 二、对设置了OnChange事件的控件赋值时,触发该事件,但因为赋值语句还有后续,OnChange事件暂时得不到执行,这时就要注意了,此时(赋值语句后续命令)不能再访问该控件了,对该控件的访问被锁定!!这时不论对控件的读或写属性操作都会引起AV错误!! 三、存在第一种的例外情况时,最好动态设置原创 2013-01-21 22:32:36 · 1680 阅读 · 0 评论 -
chrome下使用的let,const变量的误区
学ES6,总是习惯在控件台直接粘贴代码执行,用到let,const变量时在chrome总出错,按提示在第一行加 "use strict"; 还是不行!;"use strict";function* iterEntries(obj) { for (let key of Object.keys(obj)) yield [key, obj[key]];}let myObj = { fo原创 2015-12-11 06:38:22 · 2664 阅读 · 0 评论 -
正则表达式的优化---用RegexBuddy进行效率分析
正则表达式的优化—用RegexBuddy进行效率分析昨天看到《高性能的正则表达式效率优化》一文,自己动手试了试。发觉其优化后的正则表达式仍太罗嗦,自己另写~并用RegexBuddy查看匹配流程。其优化后的 正则表达式如下: ^\w+([\.-]\w+)*@\w+([\.-]\w+)*\.\w+([-\.]\w+)*$ 该表达式有几个不足之处: 1. 头尾不应该用^$ 2. 无须分组,这里原创 2016-10-09 22:42:31 · 2925 阅读 · 0 评论