您的位置:首页 > 编程语言 > Delphi

求教,c#如何调用delphi编写的dll中的函数

2008-10-14 16:31 651 查看
求教,c#如何调用delphi编写的dll中的函数 Delphi / Windows SDK/API
http://www.delphi2007.net/DelphiBase/html/delphi_20061219114602118.html

如题;
由于工作需要用到c#,但是有写函数用c#太不习惯了,于是用delphi写,但是调用时出现了问题,开始以为是函数写错了,但是后来写了个最简单的showmessage也不行

delphi中
声明部分
procedure Showmsg(mText:string); cdecl;
定义部分
procedure Showmsg(mText:string); cdecl;
begin
ShowMessage(mText);//就随便测试下
end;
给出端口
exports
Showmsg; //编译生成Project2.dll

c#中
引用
[DllImport("Project2.dll")]
private static extern string Showmsg(string mText);
随便放入一个按纽点击事件
Showmsg("afsdfas");
结果只show出了第一个字符 “a”

如果把delphi中的过程写成一个函数,那就show成了空的,没接收到入参

不知道应该怎样写,请高手指点

仔细看一下有关教材,Delphi里的string类型与C里面的并不一样,
procedure Showmsg(mText:pchar); cdecl;
这样才可以

但是c#里面好象没有pchar型,只有char型
试了一下不行,show出来的是乱码。。。



汗,我的意思是指在DELPHI里面要使用pchar 型......

或者干脆使用指针+长度 两个参数来传递.....

结贴
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: