学生信息管理系统系列一:问题总结 ByRef 参数类型不匹配

学生信息管理系统已经接近尾声了,总结一下遇到的问题和解决方法。

问题一:

实时错误'453',找不到DLL入口点

学生信息管理系统系列一:问题总结
ByRef 参数类型不匹配


出现这种错误的原因可能有一下几种情况:

1、在声明系统调用中的语句的词出错(比如把函数名拼写错了,这时候需要你重新检查一下你调用的函数名是否正确),用exescopedepend等工具,甚至记事本打开,搜索一下函数名是否存在。
2、在声明系统调用中的语句的词忘记了区分大小写(在声明系统调用函数时必须区分大小写);

3、还有一种情况就是你调用的那个DLL文件损坏或者缺少你要调用的函数,检测一下该动态链接库中是否缺少此函数或此函数是否被破坏,如果是的话,重新下载一个相应的DLL文件来解决。凡是声明调用方式的标准DLL都不需要注册。只有COM方式(在工程中引用)的才需要注册。注册的方法是 REGSVR32.EXE filename,最好是把你的 dll 拷贝到SYSTEM32目录。

而我出错的原因是因为没有注意API函数中区分大小写的问题。


错误二:


学生信息管理系统系列一:问题总结
ByRef 参数类型不匹配

这个错误完全是自己不认真导致的,细心点就好啦~~~


学生信息管理系统系列一:问题总结
ByRef 参数类型不匹配


还有种情况是变量定义的数据类型不正确。按缺省规定,一个以 ByRef (按址)方式传递的参数,必须具有该过程所允许的正确数据类型。

错误三:

实时错误‘424’  要求对象

学生信息管理系统系列一:问题总结
ByRef 参数类型不匹配学生信息管理系统系列一:问题总结
ByRef 参数类型不匹配

遇到这个问题,查了一下发现可能是工程内的类名无效(简单的说就是将窗体名或控件名写错了)这个问题,但是找了找没有发现有什么错误的,那到底是哪出了错误了呢?还是先了解一下sbStatusBar.Panels(1).Text = "添加用户"是什么意思吧。

StatusBar1是状态栏控件的名称;Panels(1).Text表示状态栏上第1个空格所显示的文本内容,Panels(1)代表状态栏控件的第一个窗格;Format(Date, "yyyy年mm月dd日")这是调用格式函数Format,设置文本格式,Format函数可以将信息设置成你所需要的显示形式(格式)。

应该怎么改呢?

第一种办法:删除sbStatusBar.Panels(1).Text = "添加用户"或者将它注释掉

第二种办法:新建form取名sbStatusBar,然后在这个窗体上新建个文本框取名Panels,并且文本框属性index为1就可以了。