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

求教,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 型......

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

结贴