我用VC编写了个函数,我怎么才能调用呀!!!
(这个问题我想了好久,现在我可以调用了,可是我一传递参数就出了错误)!!谁能帮助帮助我呀!!!谢谢了
(这个问题我想了好久,现在我可以调用了,可是我一传递参数就出了错误)!!谁能帮助帮助我呀!!!谢谢了
解决方案 »
- cdib里面有个setpixel,如何使用呀
- 绘制问题
- server 2003上,在一个大文件(30G左右)上进行写操作,WriteFile出现ERROR_NO_SYSTEM_RESOURCES错误!
- vc2008中有关控件的问题
- 关于CFont类的问题
- 散100分请教:如何在一个线程中检测另外一个线程中窗口上的textbox输入焦点.
- 急问:GlobalAlloc可以用new代替吗
- 求教,UP有分,信誉保证。问题:怎样枚举所一个窗口所有的控件(及子窗口)
- 划线中划了第二点后怎样重划第一点,请师傅们教教我!
- 进程与线程同步以及进程间共享数据的方法,大家讨论一下
- ★★★★★★请问如何从void函数中或过程中中途退出★★★★★★
- 100分,多列树控件和拖动树控件结合问题?CNewTreeListCtrl,CTreeListView
还有,最好输出一个.def文件。可以把你要输出的函数贴出来,大家看看参数类型应该能说的更清楚。
1. 在DllTest.cpp中为DLL添加导出函数,语法为:
extern "C" BOOL PASCAL EXPORT DoHelp()
{
// AFX_MANAGE_STATE(AfxGetStaticModuleState());
// normal function body here
::MessageBox(NULL,"Hello World!","MSG",MB_OK);
// return TRUE;
}
使用extern "C"语法可以让C++程序模块和其他语言共享数据和方法。2. 在DllTest.def中指定该函数为导出函数,也就是标准DLL为其他程序开放的接口函数。语法为:
EXPORTS
DoHelp
; Explicit exports can go here
3. 编译。这样在其他程序中就可以调用这个DLL了。
在VB中的调用:
首先声明:
Private Declare Sub DoHelp Lib "h:\DllTest.dll" ()
因为测试DLL中的DoHelp函数没有返回值,所以在VB中,声明为sub。然后调用:
Private Sub Command1_Click()
DoHelp
End Sub