相关疑难解决方法(0)

如何使用C#调用接收Delphi开放数组参数的函数?

如何将Delphi代码转换为C#?它需要一个array of Byte,但我不确定C#的等价物是什么.我的尝试不起作用并抛出像AccessViolationException之类的异常.

德尔福:

function SetLevel(a: array of byte): boolean; stdcall; external 'DMX510.dll';
Run Code Online (Sandbox Code Playgroud)

C#:

[DllImport("DMX510.DLL")]
public static extern Boolean SetLevel(Byte[] bytearray);

Byte[] byteArray = new Byte[5];
byteArray[1] = 75;
SetLevel(byteArray);
Run Code Online (Sandbox Code Playgroud)

c# delphi pinvoke

5
推荐指数
1
解决办法
1576
查看次数

PInvoke和Delphi

我怎样才能在c#中使用这个dll函数?我尝试了以下但我得到错误."外部组件引发的异常."

我第一次用C#和Delphi做这个PInvoke的东西.

function HTTPGET(location:string):string; stdcall;
var
HTTP:TIdHttp;
begin
  HTTP := TidHttp.Create(nil);
  try
    result := HTTP.Get(location);
  finally
  FreeAndNil(HTTP);
  end;
end;


exports
  HTTPGET;

begin
end.


namespace Test
{
    class Program
    {
        [DllImport("project1.dll")]
        public static extern string HTTPGET(string location);

        static void Main(string[] args)
        {
           Console.WriteLine(HTTPGET("http://www.reuters.com/"));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# delphi pinvoke

1
推荐指数
1
解决办法
946
查看次数

标签 统计

c# ×2

delphi ×2

pinvoke ×2