以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  [求助]请教vc调用delphi写的dll问题  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=30300)


--  作者:songbaia
--  发布时间:4/10/2006 2:42:00 PM

--  [求助]请教vc调用delphi写的dll问题
各位大哥大姐,别人给了一个delphi写的dll.
function Connect(IP, Port, ServerName: WideString): WordBool; stdcall; external 'SmsForward.DLL';
我在vc调用时主要代码如下:
typedef unsigned short (_stdcall * MYPROC1)(wchar_t *,wchar_t *,wchar_t *);
HINSTANCE  dllinstance;
dllinstance=::LoadLibrary("c:\\windows\\SmsForward.dll");//我已经将dll放到c:\\windows下
MYPROC1 Connect;
Connect=(MYPROC1)GetProcAddress(dllinstance,"Connect");//获得Connect函数的地址
Connect(IP,PORT,SERVERNAME);//这三个参数我已经定义为wchar_t *型的.
程序单步执行到这条语句时,就会报"unhandeled exception in **.exe:(KERNEL32.DLL):0X0EEDFADE:(no name)"
这是为什么啊?函数的地址在上一步可以获得.为什么一旦真正传入参数执行连接时就有问题呢?我一直在怀疑是vc参数类型和delphi写的dll中的函数参数类型不对应.但是改了好多次,还是不行.不过每次改参数类型后报的异常好象是不一样了.
哪位志士愿意帮我一把啊 ??急等!!!!!!!!!!!!!!!!!!!!!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms