yasser_ebrahimi
یک شنبه 10 شهریور 1392, 14:38 عصر
با سلام.
من کد زیر رو توی دلفی نوشتم و DLL کردم. وقتی توی #C ازش استفاده میکنم فقط خونه اول آرایه رو بهم میده. انواع داده ای مختلفی رو تست کردم ولی جواب نگرفتم.
Function DelphiFunction(Var Arr: TBytes): WordBool; Stdcall; Export;
Var
SetLength(Arr, 10);
Arr[0] := 11;
Arr[1] := 12;
Arr[2] := 13;
Arr[3] := 14;
Result := True;
End;
[DllImport("DelphiLibrary.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public static extern bool DelphiFunction(ref byte[] arr);
static void Main(string[] args)
{
byte[] array = new byte[10];
DelphiFunction(ref array);
foreach(byte b in array)
Console.ReadLine(b);
}
من کد زیر رو توی دلفی نوشتم و DLL کردم. وقتی توی #C ازش استفاده میکنم فقط خونه اول آرایه رو بهم میده. انواع داده ای مختلفی رو تست کردم ولی جواب نگرفتم.
Function DelphiFunction(Var Arr: TBytes): WordBool; Stdcall; Export;
Var
SetLength(Arr, 10);
Arr[0] := 11;
Arr[1] := 12;
Arr[2] := 13;
Arr[3] := 14;
Result := True;
End;
[DllImport("DelphiLibrary.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Ansi)]
public static extern bool DelphiFunction(ref byte[] arr);
static void Main(string[] args)
{
byte[] array = new byte[10];
DelphiFunction(ref array);
foreach(byte b in array)
Console.ReadLine(b);
}