首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

求高手帮助!解决办法

2013-01-25 
求高手帮助!本人在VS2010下用VB写了一个串口程序,引用了Microsoft Comm Control 6.0,添加了串口控件AxMSCo

求高手帮助!
本人在VS2010下用VB写了一个串口程序,引用了Microsoft Comm Control 6.0,添加了串口控件AxMSCommLib.AxMSComm,我的程序是读取串口数据后会写入ACCESS数据库,在装有VS2010的机器上可以正常通讯,无任何问题。生成打包程序后,在未安装VS2010的机器上运行,串口有反应,但是只能听到滴滴滴的声音(应该是已经读取到一部分数据),接下来就报错,提示如下:
************** 异常文本 **************
System.Runtime.InteropServices.COMException (0x800A0BCD): BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
   在 ADODB._Recordset.Move(Int32 NumRecords, Object Start)
   在 BX40_1._3.Display.System_Paramater_Show() 位置 D:\BX40-1.3\BX40-1.3\Modules\Display.vb:行号 23

我查看了Display.vb的23行,代码为:Ado_Recordset.Move(6, BookmarkEnum.adBookmarkFirst)

网上搜了很长时间,也没找到问题所在,不知道是串口的问题,还是数据库的问题,请各位高手指教一下,不胜感激,谢谢!

[解决办法]
在Release目录下生成的文件全都打包了,里面有两个DLL,AxInterop.MSCommLib.dll和Interop.MSCommLib.dll,但是这两个DLL无法注册成功,我的系统是WIN7,使用管理员权限运行regsvr32注册这两个DLL都无法成功,提示为:模块"AxInterop.MSCommLib.dll"已加载,但找不到入口点DllRegisterServer。请确保"AxInterop.MSCommLib.dll"为有效DLL或OCX文件,然后重试。



你这个是写入access?反正是操作了office软件,要求必须要在所运行的机器上也有相应版本的access,
office软件是一个组件,光是打包一两个dll是没用的.这样的EXE要求目标机器上必须要有与开发环境里的office软件版本相同的软件!比如你操作了excel 2003,那目标机器上也必须是2003,2000的excel都不行...

网上有很多这方面的资料,到目前为止,我还没有找到一个完美的解决办法..


[解决办法]

引用:
在Release目录下生成的文件全都打包了,里面有两个DLL,AxInterop.MSCommLib.dll和Interop.MSCommLib.dll,但是这两个DLL无法注册成功,我的系统是WIN7,使用管理员权限运行regsvr32注册这两个DLL都无法成功,提示为:模块"AxInterop.MSCommLib.dll"已加载,但找不到入口点DllRegisterServer。请确保"Ax……


我是过的话 2007 与2003都是可以的,不过Provider=Microsoft.Jet.OLEDB.4.0; 这句要改成Provider=Microsoft.ACE.OLEDB.12.0才能支持2007的ACCDB

不装access也试过可以,要装一个Access runtime比office安装文件小很多,好像就十几M

热点排行