- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
VisualBasic开发技巧与程序调试
Visual Basic 开发技巧
本章总结了一些Visual Basic的应用与操作技巧,并对其强大的程序调试功能进行了介绍,用于读者在案例开发过程中参考。
在程序编写过程中,即使是最出色的设计人员,也难免会被这样或那样的问题所困扰,本节以FAQ的形式列举了一些在使用Visual Basic过程中的常见问题,以期为读者释疑解惑。
编程中经常碰到API请问API的意义是什么?答?API是Application?Programming?Interface应用编程接口的缩写,也就是应用程序调用系统功能的接口。Windows?API主要包括由Windows系统定义的函数、消息及与之相关的数据类型。使用各种开发工具归根结底都是和API打交道。但是API本身比较难掌握,所以Visual?Basic提供了可视的面向对象的控件,初学者即使不太了解API,也可以编写Windows程序。但是Visual?Basic提供的控件毕竟是有限的,不可能包括API的所有方面,所以一些复杂的功能仍然需要调用API来实现。要在VB的主窗体装入一幅事先选好的图片,程序运行后可以在图片上进行修改并保存它,以备以后调用。请问怎样办?答?可以把Form或PictureBox的AutoDraw属性设为True,进行修改后使用VB的SavePicture语句进行存盘。如:SavePicture?Picture1.Picture,?“c:\test.bmp”这种存盘的文件为.bmp文件,颜色数与当前屏幕的色彩数相同。如果你的存盘要求很高,希望控制存盘格式,只能借助于其他控件,比如ImageMan(http://www.data-下载)、Lead?Tools(下载)等。 问:在一个体中设置了个命令按钮Command1Command2。Commamd1执行一个费时的操作,包括调用多个过程和函数而Command2则是终止/暂停Command1的运行,不是退出该程序不知用VB如何解决?
答:你可以采用一种变通的方法,在程序中定义一个Boolean变量,在执行command1中的程序时监视该变量,如果为False退出程序在command2中加入代码,只要点击command2就将该变量设置为False下面是
Dim?bMark?As?Boolean
Private?Sub?Command1_Click( )
bMark?=?True
For?I?=?1?To?150000? ?Start?loop.
DoEvents? ?Yield?to?operating?system.
Text1.Text?=?Str(I)
If?Not?bMark?Then
Exit?Sub
End?If
Next?I? ?Increment?loop?counter
End?Sub
Private?Sub?Command2_Click( )
bMark?=?False
End?Sub
问?我在为一数组赋值时出现如下错误:“实时错误9——下标越界”。出错的代码如下:
Dim?inputdata( )?As?Single
inputdata(0)?=?Text2(0).Text?/?Text2(1).Text? ?注释:入学率
请问为何会出现这种错误?答?VB在使用数组前必须指定数组的大小。一种办法是在定义时确定大小,如:Dim?InputData(10)?As?Single,另一种是采用动态数组。对于你的程序,数组声明部分可以不用修改,而在出错语句前加一句:ReDim?InputData(10)?As?Single 问?在按下右上角的关闭键后,怎样避免当前窗口被关闭?
答?在按下关闭键后,会发生Form_Unload和Form_QueryUnload事件。这两个事件都有个Cancel参数,如果在事件处理过程中将其设为True就可以避免窗口被关闭。对于你的问题,Form_QueryUnload事件可能更好些,因为它有一个UnloadMode参数可以区分关闭窗口的指令是用户做出的,还是系统做出的,或者是本程序代码产生的。 问?我是第一次编写ActiveX?DLL程序,在DLL中,我只在类模块中写了一个函数CARD,编译成DLL后,在另外一个程序中调用,在模块中声明:
Public?Declare?Function?card_config?Lib?c:\test\card.dll?(ByVal?address?As?Integer,?ByVal intermit?As?Integer)
在一个按钮中写如下代码:
c?=?card_config(12,12)
运行后出现错误编译Activex?DLL后,调用时出现错误:“实时错误453,找不到DLL入口点
文档评论(0)