VB插件

DengXingJie 2010-11-30 11:07:17
今想实现这样一功能,当在新增一方法、过程或是事件时,能自动写上错语处理语句
Private Sub Command1_Click()
On Error GoTo ErrHand

Exit Sub
ErrHand:
MsgBox Err.Description, , "Command1_Click"
End Sub


如上,当新建Command1_Click事件时,能自动写出里面的错语处理语句。
谢谢!
...全文
505 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
vansoft 2011-01-20
  • 打赏
  • 举报
回复
没经费懒得搞。
嗷嗷叫的老马 2010-12-08
  • 打赏
  • 举报
回复
这个不错,哈!

标记一下!
DengXingJie 2010-12-05
  • 打赏
  • 举报
回复
行,我找找看,先结贴,我会常去http://code.google.com/p/vsaddin/downloads里看看
我是一道光_ 2010-12-05
  • 打赏
  • 举报
回复
sysdzw 精神可嘉。

看过sysdzw的文章,很细、很负责。

无·法 2010-12-05
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 dengxingjie 的回复:]

sysdzw兄这插件功的功能是越做越强大
VB6IDEMouseWheelAddin这个插件我都用了好几年了,原来也是你做的
谢谢sysdzw及各位朋友
[/Quote]VB6IDEMouseWheelAddin是微软做的。

你那个右键菜单操作的貌似有点麻烦,刚按了下F2大致看了下,方法是有的:
得到当前鼠标所在的行可以通过CodePane对象的GetSelection方法得到,然后用CodeModule的ProcOfLine方法得到过程名,这样就简单了。我程序里已经封装了dealMethod方法,直接传入过程名差不多就行了。只是右击菜单的不知道怎么搞,方法是肯定有的。你自己找了看看,找到的话自己实现下吧,每个版本都开源的,呵呵。
jiashie 2010-12-05
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 dengxingjie 的回复:]

sysdzw兄这插件功的功能是越做越强大
VB6IDEMouseWheelAddin这个插件我都用了好几年了,原来也是你做的
谢谢sysdzw及各位朋友
[/Quote]
vb6idemousewheeladdin 安装vb6必安的插件之一
DengXingJie 2010-12-04
  • 打赏
  • 举报
回复
就像sysdzw兄所说的,还是觉的有点不妥
有些方法或过程是不需或是不能有错误信息提示出来的,所以如果能有可选性那将是...
不知能否做到在代码窗口点右键弹出此界面,然后再点确定就能给当前过程加上错误处理,如果光标不在一过程内,则不做处理。
期待sysdzw兄的更新版本,谢谢!
jhone99 2010-12-04
  • 打赏
  • 举报
回复
DengXingJie 2010-12-04
  • 打赏
  • 举报
回复
sysdzw兄这插件功的功能是越做越强大
VB6IDEMouseWheelAddin这个插件我都用了好几年了,原来也是你做的
谢谢sysdzw及各位朋友
无·法 2010-12-03
  • 打赏
  • 举报
回复
[Quote=引用 24 楼 dengxingjie 的回复:]

谢谢各位,尤其是sysdzw的大力相助
先研究一下sysdzw提供的代码
[/Quote]v1.0.5更新点:
* 双击控件到代码编辑器或者添加新过程、函数自动添加错误处理语句(但是总是觉得这样有点不妥,打算在下一版本中加入配置让用户决定是否关闭自动添加错误处理的功能。)
* 修正了之前版本不能处理Property Let/Set/Get这样的属性过程
* 修正了之前版本不能处理函数声明时参数用多行表示的情况

下载地址:
http://code.google.com/p/vsaddin/downloads

v1.0.6属性设置界面预览:
[img=http://hi.csdn.net/attachment/201012/3/0_12913643836Z2H.gif]http://hi.csdn.net/attachment/201012/3/0_12913643836Z2H.gif[/img]
DengXingJie 2010-12-03
  • 打赏
  • 举报
回复
谢谢各位,尤其是sysdzw的大力相助
先研究一下sysdzw提供的代码
dbcontrols 2010-12-02
  • 打赏
  • 举报
回复
这是个人工智能问题,只要人能加上,软件就该能加上,只看技术手段以及考虑的是不是周全,看人是怎么搜索怎么加的,软件怎么实现即可
king06 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 sysdzw 的回复:]
引用 19 楼 tiger_zhao 的回复:

MZ-Tools 3.0
虽然没有完全自动,但是只需要点一个工具条的按钮,也够方便了。

又:并不是所有的过程都需要添加错误处理的。
这个功能好像跟你说的MZ-Tools差不多。

贴下新的下载地址:
http://code.google.com/p/vsaddin/downloads/list
下载其中的VB6IDE_Inse……
[/Quote]
已经不错了
无·法 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 tiger_zhao 的回复:]

MZ-Tools 3.0
虽然没有完全自动,但是只需要点一个工具条的按钮,也够方便了。

又:并不是所有的过程都需要添加错误处理的。
[/Quote]这个功能好像跟你说的MZ-Tools差不多。

贴下新的下载地址:
http://code.google.com/p/vsaddin/downloads/list
下载其中的VB6IDE_InsertErrHand_Addin_1.0.2.zip(带源码src目录)
列表中不少很实用的vb和vc插件,大家可以下载用了看看。
Tiger_Zhao 2010-12-02
  • 打赏
  • 举报
回复
MZ-Tools 3.0
虽然没有完全自动,但是只需要点一个工具条的按钮,也够方便了。

又:并不是所有的过程都需要添加错误处理的。
无·法 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 dengxingjie 的回复:]

看了sysdzw给的插件,确实不错,不过还是有点欠缺,如果方法中已经有错误处理了,但与给定的不一样,则会出现重复错误处理的现象。

在Private Sub Test()后回车,系统会自动加上End Sub这一行,说明系统可以监测到换行事件,不知此事件在插件中如何才能监测得到?

谢谢大家。
[/Quote]不知道是否支持侦听系统的事件,插件相关的资料很少,我只是按F2然后看类名方法名基本猜出个大概组装成这个插件的。
建议所有的错误处理的要么都自己处理,要么就都交给插件处理。过会修改下如果过程的第一行有类似on error goto/resume xxx就直接不处理了。
dbcontrols 2010-12-01
  • 打赏
  • 举报
回复
一开始可以不写
另外对已经有了的也可以判断出来吧

[Quote=引用 8 楼 dengxingjie 的回复:]
谢谢各位
dbcontrols的方法如果针对没有任何错误处理代码的代码可能还可以,否则可能会引起重复
[/Quote]
booksoon 2010-12-01
  • 打赏
  • 举报
回复
学习了~~~
DengXingJie 2010-12-01
  • 打赏
  • 举报
回复
看了sysdzw给的插件,确实不错,不过还是有点欠缺,如果方法中已经有错误处理了,但与给定的不一样,则会出现重复错误处理的现象。

在Private Sub Test()后回车,系统会自动加上End Sub这一行,说明系统可以监测到换行事件,不知此事件在插件中如何才能监测得到?

谢谢大家。
无·法 2010-12-01
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lyserver 的回复:]

用插件在指定的事件里添加代码很简单,麻烦之处在于拦截鼠标双击事件。
插入自己代码的插件代码如下:
VB code
Dim lPos As Long

On Error Resume Next
lPos = VBInstance.ActiveCodePane.CodeModule.ProcCountLines("过程名称", vbext_pk_Proc)
VB……
[/Quote]
ProcCountLines得到的是这个过程或者函数总计的代码行数,并不是这个过程所在的行编号。另外过程名称也不好得到。我觉得最好的办法是插件不断监视代码行数是否发生变化,一有变化就将整个代码读进分析然后用insertlines插入。
加载更多回复(12)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧