不久前坛子上有人提出如何用 vfp 实现带行号显示的 RichEdit 控件,查了下资料,得到下面的结果。
结论:不是很实用,有些问题不好处理,不像通常所用的代码编辑器,只显示一种字体,这个控件主要是用来显示 Rich 文本的,而且可能夹杂图像,所以显示行号的功能对此控件来说有些勉强。
示例下载:http://filer.blogbus.com/1502086/resource_1502086_1279346262y.rar
今天发现 coolyylu 在坛子上给出的回调函数中,汇编代码存在两个问题。一个是保留给临时变量使用的栈空间不够大,当传入的代理方法名称比较长时,调用 swprintf 函数后的结果会导致栈损坏;另一个问题是调用 api 函数 SysFreeString 时没有压入参数,结果就是前面用 SysAllocString 分配的内存不会得到释放,这将导致内存泄露。
重新上传的示例:http://download.youkuaiyun.com/detail/dkfdtf/4303450