如何在Delphi或者VB中调用VC得dll??? 楼上你写的不是接口程序阿?我要得是dll输出的接口阿这样够明白了吧 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 也可以用静态的方法吧,如下:function CCMInit(hWnd: Thandle; msg: longint; gh: string): integer; cdecl; external DLL_FileName;要注意的是: 如果你的DLL中有Struct,最好用 #pragma pack( push, 1 )转到Delphi中对应的定义用 packed record这样才不会因对字节对齐的原因出错!!当然,你也可以用loadlibrary, getprocaddress, Freelibrary 来装入的 extern "C" __declspec(dllexport) SayHello(char *WhatToSay); 呵呵,还有,如果你C中用的Stdcall, Delphi中也要用stdcall若C中用cdecl, Delphi中也要用CDecl这样就没问题 我上面的函数在VC中是这样的DllImport int __cdecl CCMInit(HWND hWndMessageNoify, UINT MessageID, const char* gh); 完整的是这样的,#define DllImport __declspec(dllimport)extern "C"{//初始化函数DllImport int __cdecl CCMInit(HWND hWndMessageNoify, UINT MessageID, const char* gh);//更改工号函数DllImport int __cdecl ChangeGH(const char* newGH);//...................}//end of extern "C" weizhi:我怎么看,你在VC中写的CCMInit都不可能在Delphi中调用阿因为你连关键字pascal都没有, -----pascal和C的压栈顺序不一样的阿还有 那个__cdecl也要去掉得把??? fastreport 那个chart 网格对对齐问题,大家帮忙看看,在线等,着急,请教大家了 数据库里图片显示的问题 急问:储存过程导入导出数据库问题,无法打开BCP主数据库文件?在线等待 有串口通讯开发经验的人进! 关于在DELPHI8中使用消息框 谁帮我看看这个线程的问题在哪? 如何制作类似WINAMP的滚动的歌曲信息? 一个简单的问题 关于线程句柄与窗口句柄的棘手问题!高手快来!!!! 当窗体变化时,如何使窗体中的组件也相应地变大变小。 汉字输入问题?(急) 如何显示数据
function CCMInit(hWnd: Thandle; msg: longint; gh: string): integer; cdecl; external DLL_FileName;要注意的是: 如果你的DLL中有Struct,最好用
#pragma pack( push, 1 )转到Delphi中对应的定义用 packed record
这样才不会因对字节对齐的原因出错!!
当然,你也可以用
loadlibrary, getprocaddress, Freelibrary 来装入的
若C中用cdecl, Delphi中也要用CDecl这样就没问题
DllImport int __cdecl CCMInit(HWND hWndMessageNoify, UINT MessageID, const char* gh);
#define DllImport __declspec(dllimport)
extern "C"
{
//初始化函数
DllImport int __cdecl CCMInit(HWND hWndMessageNoify, UINT MessageID, const char* gh);//更改工号函数
DllImport int __cdecl ChangeGH(const char* newGH);//...................
}//end of extern "C"
我怎么看,你在VC中写的CCMInit都不可能在Delphi中调用阿
因为你连关键字pascal都没有, -----pascal和C的压栈顺序不一样的阿还有 那个__cdecl也要去掉得把???