明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 4473|回复: 10

对于vba,thisdrawing和模块中的代码如何区别?

[复制链接]
发表于 2004-4-21 01:26:00 | 显示全部楼层 |阅读模式
就是说什么样的代码适合放在thisdrawing代码窗口,什么样的适合放在模块窗口?


只是私有的就放在thisdrawing里,public就放在模块里么?


还有一问,就说假如没有form的话,执行过程是先执行thisdrawing里的,再执行模块里的代码?如果有form的话,由于thisdrawing里的过程是私有的,form里不能调用。那么执行顺序应该是先thisdrawing,再根据form中的不同事件调用模块里的过程?
发表于 2004-4-21 20:51:00 | 显示全部楼层
这是三个不同的概念吧,类模块、模块和窗体。类模块是封装的,它在外部的调用必须先实例化,然后操作它所提供的方法或者属性,最后销毁对象。模块是公共的,主要是存放一些全局使用的变量和过程、函数。窗体就是提供用户操作的界面了。
 楼主| 发表于 2004-4-23 13:09:00 | 显示全部楼层
谢谢。


你说得这些我明白。


但不是我问的。         thisdrawing属于类模块?
发表于 2004-4-24 07:12:00 | 显示全部楼层
thisdrawing属于模块,而不是类模块。
对于事件的代码只有在ThisDrawing中写。
 楼主| 发表于 2004-4-25 21:06:00 | 显示全部楼层
对于事件的代码只有在ThisDrawing中写。


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~??         那普通模块和thisdrawing模块就没区别了?事件的代码总得有“事件”发生才执行吧,那代码放入普通模块中不是一样的么?
发表于 2004-4-25 21:11:00 | 显示全部楼层
按我的理解ThisDrawing相当于窗体
发表于 2004-4-25 21:16:00 | 显示全部楼层
可以按Lzh741206的理解,也就是Thisdrawing模块是AutoCAd窗口的代码窗口。所以它可包含AutoCAD的事件代码,也可包含普通的过程代码。
 楼主| 发表于 2004-4-25 21:29:00 | 显示全部楼层
稍微明白一点。


我看到过这样的情况:


                                                 一个程序里只有普通模块和thisdrawing,没有窗体。thisdrawing里的过程代码都是私有的。还没有set,get之类的语句来调用。那么,执行程序的时候,是不是先执行thisdrawing中的代码,然后执行module里的?


(我本想用逐行调试的方法来判断一下,但是vba和vb不同,调试的时候,总是从当前的代码窗口中执行,而不是程序整体调试)
发表于 2004-4-25 21:31:00 | 显示全部楼层
把代码传上来好解释些
发表于 2004-4-25 21:32:00 | 显示全部楼层
晕,你还没有明白,程序的执行是按过程来运行的。运行哪个过程是由你来定的,而程序过程间的调用本来已经由程序来身定好的,而不是说哪个过程放在哪个模块中就可以先运行。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2025-2-22 02:16 , Processed in 0.166709 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表