怎样在C#中调用Delphi6写的DLL
2014-06-17 18:21
471 查看
我在编写一个系统时遇到了一个问题,无法在C#中调用Delphi6写的DLL,只因为DLL的参数是string类型的。然后在网上找相关的资料,还是没有结果。经过我的再三琢磨,现在已经解决,特写此文章与大家分享我的喜愉!
Dellphi DLL文件:
///////////////////////////////////////////////////////////////////
library mydll;
uses
SysUtils,
Classes;
{$R *.res}
function Out_Char(str1:PChar;str2:PChar):Pchar;stdcall;
var
temp:PChar;
begin
GetMem(temp,Length(str1)+Length(str2)+1);
StrCopy(temp,str1);
StrCat(temp,str2);
Result := temp;
end;
Exports
Out_Char;
begin
end.
//////////////////////////////////////////////////////////////
在C#中调用方式:
[DllImport("mydll.dll")] public static extern string Out_Char(string str1,string str2);
然后就实现了DLL 传string类型数据。
Dellphi DLL文件:
///////////////////////////////////////////////////////////////////
library mydll;
uses
SysUtils,
Classes;
{$R *.res}
function Out_Char(str1:PChar;str2:PChar):Pchar;stdcall;
var
temp:PChar;
begin
GetMem(temp,Length(str1)+Length(str2)+1);
StrCopy(temp,str1);
StrCat(temp,str2);
Result := temp;
end;
Exports
Out_Char;
begin
end.
//////////////////////////////////////////////////////////////
在C#中调用方式:
[DllImport("mydll.dll")] public static extern string Out_Char(string str1,string str2);
然后就实现了DLL 传string类型数据。
相关文章推荐
- windows服务的托管资源(C#) 静态调用 非托管资源(Delphi-dll) 开机造成无法进入桌面(一)
- c#调用delphi开发的dll的指针参数
- C#调用delphi编写的dll时如何传入传出OLEVariant
- C# 如何调用 Delphi 编写的 DLL 方法
- C#调用Delphi DLL时,要注意的几个问题。
- 关于delphi Com+调用C# DLL的一点说明
- asp.net C# 调用 delphi的dll
- C#调用Delphi的dll之详解-完整版_附有可下载Demo
- C#中如何调用Delphi写的Dll
- C# 如何调用 Delphi 编写的 DLL 方法
- C#调用Delphi编写的Dll,实现绘图的功能
- 在Delphi中怎样调用立象(Argox)条码打印机动态库PPLA/PPLB(DLL)
- 求教,c#如何调用delphi编写的dll中的函数
- C#调用Delphi的dll的两种方法
- 在.net C#里怎样调用非托管动态库函数dll?
- 关于delphi Com+调用C# DLL的一点说明
- C#调用Delphi Dll返回字符串的示例
- 【转自元宝兄】关于delphi Com+调用C# DLL的一点说明
- 【摘自网上】Delphi 调用 C# dll
- C#调用Delphi的dll的两种方法