以文本方式查看主题

-  计算机科学论坛  (http://bbs.xml.org.cn/index.asp)
--  『 C/C++编程思想 』  (http://bbs.xml.org.cn/list.asp?boardid=61)
----  小小问题:vc与delphi数据类型对应 widestring wordbool  (http://bbs.xml.org.cn/dispbbs.asp?boardid=61&rootid=&id=30141)


--  作者:songbaia
--  发布时间:4/7/2006 11:12:00 AM

--  小小问题:vc与delphi数据类型对应 widestring wordbool
请问各位:
有delphi写的dll的这样一个函数说明:
function Connect(IP, Port, ServerName: WideString): WordBool; stdcall; external 'SmsForward.DLL';
里面有WordBool和WideString数据类型,我要在vc里调用该dll的这个函数,
各对应vc里的什么数据类型啊?
typedef unsigned short (_stdcall * MYPROC1)(LPCTSTR,LPCTSTR,LPCTSTR);
这样可以吗?怎么dll函数的地址可以找到,但是一旦传入参数再调用单步执行时就有unhandel exception啊?是不是数据类型不是这样对应的啊?
在线等,
--  作者:ghazili
--  发布时间:11/20/2006 10:30:00 PM

--  
不能用字符串当dll的函数参数类型传给VC.
VC中的字符串就是 char *类型,在delphi的pchar 跟他对应。
所以你的Widestring 要改为pchar .

还有传进去的参数的实例是要这样的,
定义
var
str1 : array[0..100] of char ;
pstr1 :pchar ;
begin
   pstr1:=str1 ;
  pstr1:='hello';

你的函数(pstr1,....)
end;


--  作者:songbaia
--  发布时间:11/21/2006 3:42:00 PM

--  
赫赫

我的问题已经解决了
不过还是很感谢你的


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms