我在VC中开发了一个动态连接库如下:
1. 在SetDB.h中导出函数如下:
extern "C" __declspec(dllexport) void OpenDB(char* strDBPath);
2. 在SetDB.cpp中实现导出函数如下:
extern "C" __declspec(dllexport) void OpenDB(char* strDBPath);
{
WCHAR wFile[128]; // 将其转换为LPCWSTR
MultiByteToWideChar(CP_ACP, 0, strDBPath, -1, wFile, 128);
... ...
}
3. 在SetDB.def中导出如下:
... ...
EXPORTS
InitDB @1
OpenDB @2
CloseDB @3
... ...我在VB中调用如下:
1. 首先申明DLL的输入函数如下:
Option Explicit
Private Declare Sub InitDB Lib "MyDB.dll" ()
Private Declare Sub CloseDB Lib "MyDB.dll" ()
Private Declare Sub OpenDB Lib "MyDB.dll" (ByVal strDBPath As String)
... ...
2. 在OPENDB按钮的Click动作函数调用中调用如下:
Private Sub Command00_Click(Index As Integer)
InitDB // ok
Dim strDBPath As String
strDBPath = "C:\myDB"
OpenDB strDBPath // 此处报错,实时错误'49',DLL调用约定错误
End Sub 大侠们!!! 发表您们的高见吧!!!为什么会报参数错???
如果我在VB中使用ByRef,错误依然存在,一样的.
而在VC中调用没有任何问题啊!
1. 在SetDB.h中导出函数如下:
extern "C" __declspec(dllexport) void OpenDB(char* strDBPath);
2. 在SetDB.cpp中实现导出函数如下:
extern "C" __declspec(dllexport) void OpenDB(char* strDBPath);
{
WCHAR wFile[128]; // 将其转换为LPCWSTR
MultiByteToWideChar(CP_ACP, 0, strDBPath, -1, wFile, 128);
... ...
}
3. 在SetDB.def中导出如下:
... ...
EXPORTS
InitDB @1
OpenDB @2
CloseDB @3
... ...我在VB中调用如下:
1. 首先申明DLL的输入函数如下:
Option Explicit
Private Declare Sub InitDB Lib "MyDB.dll" ()
Private Declare Sub CloseDB Lib "MyDB.dll" ()
Private Declare Sub OpenDB Lib "MyDB.dll" (ByVal strDBPath As String)
... ...
2. 在OPENDB按钮的Click动作函数调用中调用如下:
Private Sub Command00_Click(Index As Integer)
InitDB // ok
Dim strDBPath As String
strDBPath = "C:\myDB"
OpenDB strDBPath // 此处报错,实时错误'49',DLL调用约定错误
End Sub 大侠们!!! 发表您们的高见吧!!!为什么会报参数错???
如果我在VB中使用ByRef,错误依然存在,一样的.
而在VC中调用没有任何问题啊!
解决方案 »
- 我在win CE 5.0平台中调用IImage组件时,总提示错误!
- 用SHBrowseForFolder怎样打开上次打开的路径?
- debug下多线程出错,release正常
- 锯齿数组要怎样声明(定义)才是最好的?
- 请教各位大侠,如何从一幅很大的位图中截取矩形区域显示?
- List Control问题。
- 【高难度问题,新手请旁观】托盘图标上右键菜单显示,随机伴随系统菜单出现
- 我怎么捕获树型控件的鼠标右键消息
- C++如何调用C#写的WebService
- 为什么大家得的都是0分?
- 请问怎么学习vc的函数啊!!!!
- 我用vc6.0创建的DLL库在pb调用时说:传递参数类型不匹配.....大家看看是什么原因?
void __stdcall OpenDB(char* strDBPath);你需要在.DEF文件中导出该函数