我现在要用MFC对话框,点击确定按钮,弹出另一个用uistyler创建的对话框(db),现在有db.dll,db.cpp,db.h,db.lib等文件。用:
HINSTANCE dll123;
dll123=LoadLibrary("D:\\USER\\application\\db.dll");
if (dll123 == NULL)
{
MessageBox("can,t");
}
貌似加载成功了,但怎么运行啊?弹不出来对话框啊?
extern int call1 ( int *response )是db.cpp中的,应该是个入口,具体怎么做啊,能不能帮忙写下啊?
追答我当调用这个函数能显示对话框啊。
1.typedef int (*DLL_CALL)(int* );//这是将函数指针类型定义出来,在头文件中的类声明前加上
2.在你调用LoadLibrary后会返回一个句柄hDll,想调用函数的时候
DLL_CALL myCall1 = (DLL_CALL) GetProcAddress( hDll, "call1" );
myCall1(/*内面填写你要传的参数*/);
现在就将call1函数调用了。
3.FreeLibrary(hDll);
你得确定call1确实是显示对话框函数,至少我从意思上看不像啊。db是数据库的
db.h和db.lib已经加进去了,调用call1时,编译成功,但不能生成, error LNK2001: 无法解析的外部符号 _call1,该怎么办啊?
追答在dll导出函数前面使用extern "C" __declspec(dllexport)修饰而不是extern,再重新生成dll。
你那个dll根本就没有把函数导出嘛
MFC如何调用DLL(VC++)
DLL } 基本上就是这么一个流程,LoadLibrary->成功->获取函数入口点->调用函数->最后FreeLibrary,注意FreeLibrary是必须要实现的不然会造成资源泄漏。
MFC如何调用DLL(VC++)
步骤如下:1.加载动态库(使动态库程序运行)HMODULE LoadLibrary(LPCTSTR lpFileName \/\/ 动态库的名称或全路径 );\/\/返回动态库的实例句柄(HINSTANCE)。如果dll文件与.exe文件在同一路径下,只需要写动态库名称,不在同一路径下,则需写带盘符的全路径 2.获取函数地址 FARPROC GetProcAddress(HMODULE ...
C#和VC++调用dll详细步骤,及接口定义中类指针、字符串等函数形参和返回...
C#调用dll步骤在C#项目中,首先将FYDC.dll复制到exe目录,并在代码中声明导入函数,注意处理字符串参数的深拷贝。当遇到乱码问题,需调整编码和转码设置,例如:将DLL设置为多字节编码,接口中char*改为wchar_t*。C#中使用Encoding.Unicode处理字符串。在其他代码文件中引用导入函数。VC++调用dll步骤VC++...
现在只有一个外部程序中的dll文件,在VC++MFC中调用它获取数据
工程-》设置-》连接,中将对象\/库模块填上 E:\\组态王\\kingvewcliend.dll ;这里不是添加.dll,而是要添加.lib 。而且最好要把.dll文件拷贝到你的工程的debug目录下才好。
vc++ MFC建立的DLL,我想在VB中引用后使用里面的类函数,但是啥都看不...
跨语言的DLL调用,必须符合约定规范,在windows平台下,有两个规范,一个是windows API DLL规范,一个是COM\/COM+规范(ActiveX是这个)。MFC_DLL使用了c++类,不符合上述两种规范,因此不能跨平台跨语言调用。
VC++ 找不到MFCD42D.DLL 怎么解决?
打开你的工程项目,选择 组建--配置--选择win32 Release方式。然后点工程--设置,使用MFC作为静态链接库。。。看下面的中间文件是不是Release 。是就确定,然后重新编译组建。生成 的EXE文件就不需要.dll文件了
...MFC工程在没有装VC的电脑上运行不了,说是找不到MFC42D.DLL文件...
因为VC6 MFC程序默认建立的程序是动态链接,需要运行时加载一些DLL文件。 有两种方法可以解决:1.拷贝所缺失的dll到你的程序运行目录;2. 建立MFC工程时选择静态链接,这样编译器产生exe文件时会自动打包所缺失的dll,缺点是与动态链接相比,exe文件比较大。
vc++编的dll在pb中怎么调用,帮帮忙 20tommyhuanglei
1. 用VC创建DLL 在VC 6.0中可以用“MFC AppWizard”自动生成“Win32 DLL”和“MFC AppWizard DLL”。启动VC之后,从“File/New”菜单项,选择“New”对话框中的“Projects”标签,选择新项目为“MFC AppWizard(DLL)”,可输入工程名为testdll,然后点击“OK”按钮,弹出选择DLL类型对话框后,再选择...
调试VC++中提示计算机丢失MFC42D.DLL文件 我用的是Win7系统,我到网上...
我也碰到了这个问题 工程->设置->常规,把Microsoft基础类改为:使用MFC作为静态链接库
VC++做的dll是使用MFC作为共享的DLL,现在要导出类,怎么快速的改为使用...
用VC++ 新建工程,dll,然后将你需要的导出的类,写到dll工程里面去,然后就可以了