重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
如果DLL不是你写的,且你要调用的函数不是__stdcall声明,VB直接调用是会报错的
创新互联公司提供高防主机、云服务器、香港服务器、成都服务器托管等
如果DLL是你写的,注意调用约定问题,并看以下代码
***************************************************
以下是DLL代码
.cpp里这么写
1extern "C"__declspec(dllexport) void __stdcall HelloWorld()
2{3 MessageBox(NULL,"HelloWorld","HelloWorld",NULL);4}
.def里这么写
LIBRARY "XXXX"
EXPORTS
; 此处以下添加
HelloWorld@1
*************************************************
vb里这么写
1 Public Declare Sub HelloWorld Lib "XXXX.dll" ()
然后调用就可以了,上面是VB的代码,或许VB.net的也差不多
你没加namespace,加一个命名空间
namespace xxx
{
//your code
}
最好用VS工程里的添加引用直接选中这个dll,然后程序里写namespace 就可以访问其中的内容了。
右键点击你的工程名称,选添加引用,选浏览,找到你的dll,确定。
让后在你的代码里上面协商using 你的命名空间,就可以放心使用了。
还可以用System.Reflection Assembly.LoadFrom动态加载一个dll也可以。
帮助文档中看到可以在VB6中直接调用 --- 那它竟然没有如何调用的文档?另外你为什么不用.net
有可能你是Office是精简版(就是那种GhostXP盘安装时带的三合一、四合一之类的),因为这种Office的注册表内容不正确所致!
你可以试试在“引用”里点击“浏览”,在“文件类型”下拉列表里选择“可执行程序”,然后再指向你的Office所在文件夹的Word程序(好像是WinWord.exe)。
如果实在不行,你就只能重新安装Office了,最好是完整版(当然不用的组件你可以不安装