易语言如何调用C语言加载的Dll?---请高手指点。

如下是公司其它语言在用的申明函数。请教高手如何转化成易语言的,并在成功连接后返回真。谢谢。

你的回复最好是代码呈现。我新手,文字教程有点难看懂。

函数声明

typedef bool (__stdcall * MesStart)();
typedef bool (__stdcall * MesClose)();
typedef bool (__stdcall * MesTransfer)(int, const char*, int*);

C加载Dll
h=LoadLibrary("MESConnect.dll");
if (NULL == h)
{
AfxMessageBox("\"MESConnect.dll\" load FAIL!");
return FALSE;
}
else
{
SajetTransStart = (MesStart)GetProcAddress(h,"MESTransStart");
SajetTransClose = (MesClose)GetProcAddress(h,"MESTransClose");
SajetTransData = (MesTransfer)GetProcAddress(h,"MESTransData");
}

在易语言的左边功能选项找---程序---dl命令--右键---插入新dll命令 DLL命令名=你给他的名称(在窗口程序下可直接代码输入) DLL库文件名=你调用那个DLL命名 DDL库中的对应名=在被调用的DLL的子程序完了后直接在窗口下输入代码(DLL命令名) 打包的时候将DLL放置包下(可减少错误率)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-12-04
要符合易的4K对齐模式就行,跟API DLL一样就可以了。。。追问

能提供具体的代码吗?你说的这个我看不明白啊。

追答

把C写的DLL写成cdecl约定就可以了