delphi到C# 几句话 求翻译,该如何处理
delphi到C# 几句话 求翻译
procedure TForm3.ReadTest;
var
bytData: WideString;
begin
SetLength(bytData,currentLength div SizeOf(WideChar));
MemDB.Read(@bytData[1]); //主要是这里
SetLength(bytData,0);
end;
procedure TShareMemory.Read(bytData: Pointer); //还有这里
begin
CopyMemory(bytData, m_pwDataRead, m_length); //这里我在C#还是引用了API来搞
end;
C#的CopyMemory我这样整的
[DllImport("kernel32.dll", EntryPoint = "RtlMoveMemory", CharSet = CharSet.Ansi)]
public extern static long CopyMemory(IntPtr dest, IntPtr source, int size);
问题主要还是在C#里面的指针应该咋个整法,用委托替代吗? 如果是的话这边应该如何处理呢。。。。
初学C# 望高手赐教! O(∩_∩)O 谢谢 !!!
------解决方案--------------------
new IntPtr (……)
有4个重载,其中一个允许输入指针,调用的话
CopyMemory(new IntPtr(dest), new IntPtr(source),size);
使用指针,要申明unsafe
procedure TForm3.ReadTest;
var
bytData: WideString;
begin
SetLength(bytData,currentLength div SizeOf(WideChar));
MemDB.Read(@bytData[1]); //主要是这里
SetLength(bytData,0);
end;
procedure TShareMemory.Read(bytData: Pointer); //还有这里
begin
CopyMemory(bytData, m_pwDataRead, m_length); //这里我在C#还是引用了API来搞
end;
C#的CopyMemory我这样整的
[DllImport("kernel32.dll", EntryPoint = "RtlMoveMemory", CharSet = CharSet.Ansi)]
public extern static long CopyMemory(IntPtr dest, IntPtr source, int size);
问题主要还是在C#里面的指针应该咋个整法,用委托替代吗? 如果是的话这边应该如何处理呢。。。。
初学C# 望高手赐教! O(∩_∩)O 谢谢 !!!
------解决方案--------------------
new IntPtr (……)
有4个重载,其中一个允许输入指针,调用的话
CopyMemory(new IntPtr(dest), new IntPtr(source),size);
使用指针,要申明unsafe