如何在vc内动态调用delphi写的动态连接库,急死我了 如题!哪位大哥帮帮忙啊,最好有代码示例 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果只是简单的数据类型我想和调用VC写的动态连接库差不多吧。只不过因为C和Pascal的函数调用参数压栈顺序不一样所以你在VC里面把函数的加上 __stdall 应该就可以了。 BTW C/C++调用函数缺省的压栈方式为 __cdecl比如说:如果Delphi写的DLL中有一个名为int Test(int)的导出函数那么你在VC里声明如下:typedef int (__stdcall *Test)(int); 如果一个函数为3. function mfi_init_mcard(sector:byte;key:string;sys_no:dword;sj_key:string;baika:string;user_no:byte):boolean;stdcall;该如何调用呢 typedef int (WINAPI *fnWriteBlob)(BSTR guid1, BSTR guid2);HINSTANCE lib;fnWriteBlob WriteBlob;TCHAR szScbID[10]; lib = LoadLibrary(_T("LongrowToBlob.dll"));if(lib != NULL){WriteBlob = (fnWriteBlob)GetProcAddress(lib, _T("WriteBlob")); if(WriteBlob != NULL) WriteBlob(_bstr_t(szTask), _bstr_t(szScbID)); FreeLibrary(lib); } 发错了,应是typedef int (WINAPI *fnYourFunction)(.....);HINSTANCE lib;fnYourFunction yourFuction; lib = LoadLibrary(_T("your.dll"));if(lib != NULL){yourFuction = (fnYourFunction)GetProcAddress(lib, _T("functionName")); if(WriteBlob != NULL) yourFunction(...); FreeLibrary(lib);} delphi dll里的string类型参数我该用什么去对应啊 关于等待窗口的问题 再次肯求大家帮帮忙,关于BCGControl 的一个问题 如何hook 文件读写操作? VC中的枚举太没意思了 LoadImage问题!返回为空啊,为什么? 写word文件 默认选项生成单文档程序后如何窗口最大化按钮失效? 如何备份磁盘分区表和MBR???????不要告诉我用KV3000。我买不起。 那位大哥会串口通信帮帮小弟 怎样将 WORD的变量 转换成 CString的变量 ? 自动升级程序是怎么做? 哪里有下opengl.dll?在线
C/C++调用函数缺省的压栈方式为 __cdecl
比如说:
如果Delphi写的DLL中有一个名为int Test(int)的导出函数那么你在VC里声明如下:
typedef int (__stdcall *Test)(int);
sj_key:string;baika:string;user_no:byte):boolean;stdcall;
该如何调用呢
fnWriteBlob WriteBlob;
TCHAR szScbID[10];
lib = LoadLibrary(_T("LongrowToBlob.dll"));
if(lib != NULL)
{
WriteBlob = (fnWriteBlob)GetProcAddress(lib, _T("WriteBlob"));
if(WriteBlob != NULL)
WriteBlob(_bstr_t(szTask), _bstr_t(szScbID));
FreeLibrary(lib);
}
fnYourFunction yourFuction;
lib = LoadLibrary(_T("your.dll"));
if(lib != NULL)
{
yourFuction = (fnYourFunction)GetProcAddress(lib, _T("functionName"));
if(WriteBlob != NULL)
yourFunction(...);
FreeLibrary(lib);
}
参数我该用什么去对应啊