文档详情

常见编程错误及其解决方法.doc

发布:2017-08-29约3.52千字共4页下载文档
文本预览下载声明
PAGE  PAGE 4 常见编程错误及其解决方法 下面列举了初学者在设计程序时经常遇到的一些错误。在上机时可以首先检查是否存在这些错误(特别是当没有老师在场时)。还要注意,有时候Visual Basic所提示的错误信息是不准确的,应该多观察前后的程序行。 错误:编译错误“无效字符” 示例: Dim a As Integer, B As Double 原因:因为标点或关键词使用了中文全角字符 解决:换成西文半角字符,如将“,”换成“,”,类似的还有中文的加号、减号、乘号等。 错误:编译错误“无效外部过程” 示例: a = 100 * 100 Private Sub Command1_Click() Print Hello End Sub 原因:语句不能写在过程之外。(只有Dim, Const, Type, Enum, Declare等声明可以放在过程之外。 解决:将语句放在过程内,如Private Sub Command1_Click 与 End Sub之间。 错误:实时错误“要求对象” 示例: Command2.Move 100, 200 原??:对象不存在,或者对象名的拼写不正确 解决:新建相应的对象(如示例中的Command2)。如果是拼写错误,则改正拼写。为了减少程序中的对象名的书写错误,最好在控件名前面加上一个“Me.”,如示例中的代码写为: Me.Command2.Move 100, 200 由于书写“Me.”后程序会自动进行对象名的提示,可以有效地减少错误的机会。 错误:程序无显示 示例: Private Sub Form_Load() Print Hello End Sub 原因:在Form_Load事件发生时,窗体尚未显示,等到窗体再显示出来时,而原先使用Print显示的信息,不再重画。 解决:在Form_Load中,先加入一条语句: Me.Show 然后再用Print显示信息。 也可以将这些语句放入其他事件过程中,如Command1_Click。 错误:照书上的程序输入进行,运行不正常 原因:可能有多种原因。对于初学者而言,最常见的原因是字母输入错误。有时偶尔错一两个字母,却不容易发现。 解决:除了仔细检查每一个拼写外,可以在代码窗的第一句前面加上一条语句: Option Explicit 这样,可以检查出大部分拼写方面的问题。 错误:打开工程文件时,提示相关的Form文件找不到 原因:许多初学者在保存文件时,只保存了工程文件(.vbp),而没有保存窗体文件(.frm)。或者在复制文件时,只复制了工程文件,而没有复制相关的窗体等文件。或者删除了与窗体文件同名的.frx文件。这些都会导致指定的窗体文件找不到。 解决:保存或复制文件时,保证相关的文件的完整性。(注意:有时将工程文件复制到其中机器上时,即使相关的文件都进行了复制,但由于路径的改变,仍然会导致找不到Form文件,这时可以将相应的窗体加入到工程中,也可以用“记事本”或其他文本编辑器将.prj文件打开进行其中窗体文件路径的手工修改。) 错误:打开Form1出现错误(最常见的是相应的图片文件找不到) 原因:常见的原因有: 窗体文件(.frm)所对应的同名.frx文件不存在; 窗体或图片框中的设定的图片文件不存在; 在窗体中所需要的控件不存在或者版本不兼容; 解决:对于第1种情况,需要将相应的.frx文件找到,或者重新建立窗体。对于第2种情况,在设计时,不指定带绝对路径的文件名,而在程序中,在LoadPicture中,用相对路径来指定文件名,也可以用App.Path “\” “xxxx.bmp”的方式;如果在设计时,不用文件名,而将图像从“画图”等软件中复制后粘贴到对象的Picture属性中,这也是一种解决办法,这时,图像的内容存放在相应的.frx文件中。对于第3种情况,可以将出现问题的控件对象删除(因为这时的对象自动变为了PictureBox类型的对象),然后,重新加入系统中所拥有的控件,并注意正确地对控件进行命名和设置属性。 错误:编译错误“常数、固定长度的字符串、数组、用户自定义类型以及Declare语句不允许作对象模块的Public成员” 示例: Public Declare Function sndPlaySound Lib winmm.dll Alias sndPlaySoundA (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long 原因:有些声明(如Declare、Type等)如果用Public修饰,则不允许放在窗体模块中。 解决:将Public改为Private。 错误:编译错误“Next没有For” 示例: Private
显示全部
相似文档