Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11 多模块程序设计与调试

上传人:E**** 文档编号:89189240 上传时间:2019-05-21 格式:PPT 页数:17 大小:111.50KB
返回 下载 相关 举报
Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11  多模块程序设计与调试_第1页
第1页 / 共17页
Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11  多模块程序设计与调试_第2页
第2页 / 共17页
Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11  多模块程序设计与调试_第3页
第3页 / 共17页
Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11  多模块程序设计与调试_第4页
第4页 / 共17页
Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11  多模块程序设计与调试_第5页
第5页 / 共17页
点击查看更多>>
资源描述

《Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11 多模块程序设计与调试》由会员分享,可在线阅读,更多相关《Visual Basic程序设计实训教程 教学课件 ppt 作者 陆剑锋 主编 俞伟新 颜忠胜 副主编 ch11 多模块程序设计与调试(17页珍藏版)》请在金锄头文库上搜索。

1、多模块程序设计 程序的调试,第十一部分 多模块程序设计与调试,Visual Basic程序设计,新建工程(标准EXE)时系统自动添加一个窗体。对于功能复杂的程序可能需要多个窗体。 一、启动对象 启动对象是指程序运行时,首先被加载并执行的对象。启动对象可以是一个窗体,也可以是标准模块中的Sub过程Main。 一个程序可以没有窗体,但必须在标准模块中定义Main过程,当Main过程中的语句运行结束,程序也就停止。如ex1101.exe。 一个程序必须有一个启动对象,默认的启动对象是第一个被创建的窗体。,1 多模块程序设计,Visual Basic程序设计,二、窗体的加载与卸载 除了作为启动对象的窗

2、体可以自动加载外,其它窗体必须使用语句加载。 1.Load语句 Load 窗体名 该语句将窗体加载到内存,但并没有在窗体中显示。 一旦窗体进入内存,便可通过程序对它进行操作,窗体中的定时器也开始工作。 窗体模块中声明的全局变量、模块级变量和静态变量不受窗体的加载或卸载影响,只要程序在运行,它们就处于内存中。,1 多模块程序设计,Visual Basic程序设计,2.Show方法 Show是窗体的方法。调用此方法时,相应的窗体会在屏幕中显示。 窗体名.Show 0|1 如果省略参数或使用参数0,则窗体显示后继续执行该语句后的语句此时该窗体称为“非模态”的。如果使用参数1,则窗体显示后,该语句后的

3、语句暂停执行,直到该窗体被隐藏或卸载(关闭)“模态”的窗体,如同对话框。 调用Show方法时,如果窗体未进入内存,则先将它加载,后显示。,1 多模块程序设计,Visual Basic程序设计,3.Hide方法 窗体名.Hide 可以隐藏一个窗体将其Visible属性设置False,但不卸载窗体,窗体仍处于内存中。 调用Hide方法时,如果窗体未经加载,则先加载,后隐藏。 4.Unload语句 Unload 窗体名 将窗体从内存中卸载。如果一个窗体未被加载(不在内存中),则访问其对象会导致窗体的加载,如 Unload Form2卸载窗体 Form2.Caption=“Abc”窗体又被加载,但不显

4、示,1 多模块程序设计,Visual Basic程序设计,三、窗体加载时的事件 窗体被加载时,依次触发Initialize,Load,Activate事件。 1.Initialize事件 2.Load事件 触发此事件时,窗体尚未显示到屏幕中。如果一个窗体被隐藏,将它显示出来时不会触发上述两处事件。 3.Activate事件 当窗体成为活动窗体时触发此事件。如果仅加载但不显示窗体时,不会触发此事件。Activate事件不仅会在加载时触发。,1 多模块程序设计,Visual Basic程序设计,四、窗体卸载时的事件 当卸载窗体时依次触发Deactivate,QueryUnload,Unload,T

5、erminate事件。 1.Deactivate事件 当窗体由活动窗体变非活动窗体时触发。 2.QueryUnload事件 当窗体被卸载之前触发,事件过程的参数有:Cancel As Integer, UnloadMode As Integer,其中Cancel用于阻止窗体的卸载,UnloadMode用于识别卸载窗体的原因。,1 多模块程序设计,Visual Basic程序设计,3.Unload事件 若QueryUnload事件过程中未阻止窗体关闭,则继续触发此事件。 4.Terminate事件,1 多模块程序设计,Visual Basic程序设计,五、多模块之间的数据传递 1.使用全局变量、

6、全局数组 2.使用对象属性 尽量不要在一个模块中直接引用另一窗体模块中控件对象或其属性。,1 多模块程序设计,Visual Basic程序设计,六、程序的终止 如果程序没有任何窗体(此时启动对象肯定为Main过程),则Main执行完成后程序即终止。 如果程序由单个窗体组成,则窗体卸载后程序即终止。 如果程序由多个窗体组成,则当所有窗体均卸载后程序才终止。 1.End语句 程序执行到此语句时立即结束。执行此语句时不会触发窗体卸载时的事件。,1 多模块程序设计,Visual Basic程序设计,2.Stop语句 处于VB集成环境中运行时,如果遇到此语句,则程序暂停运行,处于“中断”状态。如果编译成

7、EXE文件后脱离集成环境运行,则此语句的作用与End语句相同。,1 多模块程序设计,Visual Basic程序设计,一、程序错误的种类 1.编译错误 主要指语法错误。 2.运行时错误 试图执行一条不能执行的语句。如x=3/y,当变量y的值为0时会出现错误。 3.逻辑错误 程序没有语法错误和运行错误,但运行的结果与预期的结果不符。其原因是程序的算法存在问题。,2 程序调试,Visual Basic程序设计,二、调试窗口 VB集成环境提供“立即”、“本地”和“监视”三个窗口用于程序的调试。,2 程序调试,Visual Basic程序设计,1.立即(Immidiate)窗口 立即窗口可以在程序运行

8、时使用,也可以在中断状态下使用。 (1)运行时使用 运行时,在程序中通过Debug对象使用立即窗口。通过其Print方法可以在立即窗口中输出变量或表达式的值。 Debug的Assert方法用于中断程序的运行,语法为: Debug.Assert 逻辑表达式 当逻辑表达式的值为False时中断程序。 Debug对象只当程序在集成环境中运行时有效,如果编译成EXE文件后脱离集成环境运行时无效。,2 程序调试,Visual Basic程序设计,(2)中断时使用 当程序中断时,将光标置于立即窗口中,使用Print或?可以在立即窗口中输出变量或表达式的值。 2.本地(Local)窗口 本地窗口只能在程序中

9、断时使用。 3.监视(Watch)窗口 监视就是定义一个表达式,程序运行时不断计算此表达式的值。,2 程序调试,Visual Basic程序设计,三、切换到中断状态的方法 在集成环境中,程序有三种状态:设计、运行和中断。进入中断的方法有: 运行时按Ctrl+Break,或按工具栏中的“中断”; 程序运行出错; 执行Debug.Assert语句时表达式为False; 当监视表达式值为True或值发生改变时; 执行到Stop语句时。 除此之外,还有几种方法:,2 程序调试,Visual Basic程序设计,1.使用断点 当执行到断点语句时自动进入中断状态(此语句尚未被执行)。 2.逐语句执行 F8 3.逐过程执行 Shift+F8 一个过程作为一个整体执行。 4.跳出 Ctrl+Shift+F8 快速完成当前过程的执行。如果当前过程的剩余语句中有断点、Stop或Assert等语句,则不能跳出。 5.运行到光标处 Ctrl+F8 运行到光标处的语句并中断。如果此前有断点、Stop或Assert等语句,则不能运行到光标处。,2 程序调试,Visual Basic程序设计,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号