一、在XXX.def中加入(假设工程名叫XXX,要输出的函数名叫MyDLLFunc())
EXPORTS
; Explicit exports can go here
MyDLLFunc
二、在XXX.cpp中写函数的定义
// 输入一个字符串,处理后输出
extern "C" bool __stdcall EXPORT MyDLLFunc(LPTSTR inputStr, TCHAR** outputStr)
...{
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CString instr = inputStr;
CString outstr = SomeProcess(instr);
_tcscpy(*outputStr, (LPCTSTR)out); 
return true;
}
三、在VB中调用
Public Declare Function MyDLLFunc Lib "C:/yyy/xxx.dll" (ByVal inputStr As String, ByRef outputStr As String) As Boolean
Sub M1() ' 其实是个宏 -_-
Dim mystr As String * 4096
If MyDLLFunc("ABC", mystr) Then
MsgBox sss
End If
End Sub
本文介绍如何在DLL文件中导出函数并通过VB进行调用。首先在DLL的定义文件中声明要导出的函数,然后在实现文件中定义该函数的具体逻辑,最后在VB环境中通过声明的方式调用此DLL函数。
1358

被折叠的 条评论
为什么被折叠?



