自定义组件中数据库存放地址的问题

terrywolf 2006-06-13 09:57:06

我的程序中引用了一个dll组件,为了使程序能找到这个dll

组件,就用regsvr32 222.dll,把组件注册了一下。
在这个组件又定义了数据库的存放位置:DBPath = App.Path

& "\Database\111.mdb",打包安装后,程序运行时提示找不

到数据库的存放位置,因为注册组件时,把组件注册到

了:"c:\windows\system32\"这个位置,所以只有手动把数

据库复制到"c:\windows\system32\Database\111.mdb",程序

才能正常运行。
程序的安装路径为:"c:\Program Files\Mysoft"。怎样编程

把数据库存放在"c:\Program

Files\Mysoft\Database\111.mdb",又让程序能正常运行(在

组件中也要对数据库进行读写数据)?

(我的弱弱的想法是:能不能把222.dll注册到c:\Program

Files\Mysoft这个路径下。)
...全文
159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
terrywolf 2006-06-25
  • 打赏
  • 举报
回复
非常感谢点尘给我的短信息!
junki 2006-06-19
  • 打赏
  • 举报
回复
其实很简单,在打包时,指定DLL为"AppPath"安装位置,
也就是与你EXE文件所在的同一个位置。
province_ 2006-06-17
  • 打赏
  • 举报
回复
改程序喽,否则哪有通用性
terrywolf 2006-06-17
  • 打赏
  • 举报
回复
也就是说,程序设计时和安装后引用的dll的绝对位置一样时,程序才能正常运行。
这个问题怎么解决呢?
terrywolf 2006-06-17
  • 打赏
  • 举报
回复
是这样的,
程序设计时,工程/引用,添加的222.dll用的是绝对位置:如"E:/我的程序/222.dll",所以编译后的exe文件引用的也是"E:/我的程序/222.dll",
程序打包安装后的位置是c:\Program Files\Mysoft(222.dll,数据库,exe文件也在文件夹中),

如何编程实现打包后引用c:\Program Files\Mysoft\222.dll?
terrywolf 2006-06-17
  • 打赏
  • 举报
回复
请楼上的高手指教一下,怎么改法?
yechat 2006-06-14
  • 打赏
  • 举报
回复
楼上正解
不过楼主的设计思路有问题
DLL应该是你自己写的吧。你在主程序中应该把APP.PATH作为参数传给DLL,以便DLL调用数据库。
northwolves 2006-06-13
  • 打赏
  • 举报
回复
regsvr32 "c:\Program Files\Mysoft222.dll"

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧