首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

C#调用delphi dll解决思路

2012-12-28 
C#调用delphi dll最近用C#调用delphi dll文件时,遇到几个问题。以下delphi数据类型,在C#中用什么对应:delph

C#调用delphi dll
最近用C#调用delphi dll文件时,遇到几个问题。以下delphi数据类型,在C#中用什么对应:
delphi        c#
 Pointer       ?
 char          ?
 Dword         ?
 Integer       ?
 char[]        ?
另外delphi中的nil值对应c#中的null吗?
[解决办法]
Pointer      标记unsafe
char         char 
Dword        UNSIGN LONG 
Integer      int32 
char[]        char[]
delphi中的nil值对应c#中的null
NULL是无值无类型   
  NIL是空指针型

[解决办法]
pointer-------inptr

[解决办法]
Pointer 可以是IntPtr 也可以直接用 int 对应
char的话,我不会delphi 如果delphi里面的char是一个Unicode字符, 那就对应C#里面的char, 如果delphi的char与C++里面char的概念一样,那就是C# 里面的byte
Dword 是 int32, 也就是int
Integer同上
nil 是 IntPtr.Zero


char[] 这个比较麻烦, 如果你想要用char[]传递一个字符串, 那建议直接用C#的string然后给这个参数加上[MarshallAs(UnmanageType.xxx)] (这个xxx根据你的字符串类型而定,请参考msdn)属性。

热点排行