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 谢谢 !!!
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 谢谢 !!!
解决方案 »
- 关于PE校验和
- sql 存贮为access
- QQ2006如何自动打开好友聊天窗口????
- 这个控件的用法(加图片)?mxOutlookBarPro
- 哪里有拔号控件(代码)下载
- 如何确认收到的信使服务(高难度,请指点,详情见内容)
- clientdataset 动态查询,传递参数问题,高手进……在线等……
- *** 加急 ***, 如何用delphi 调出, 浏览网络计算机的对话框, 并得到返回值!(有点像, “网络邻居”)
- 100分求助--关闭主窗体的时候:Invalid pointer Operation 错误
- 谁知道Delphi里如何对串口通信?
- IdHttp 提交Cookie做模拟登录
- 带图形界面的windows服务程序在Win2003下的问题
CopyMemory(new IntPtr(dest), new IntPtr(source),size);使用指针,要申明unsafe
这个delphi程序很简单,就是从个二进制数组的一部分把数据读到一个widestringc#有很多可以便捷处理的方法比如byte[]有copyto方法,实现的就是你要用CopyMemory要做的事或者
UnicodeEncoding encoding = new UnicodeEncoding( );
string str = encoding.GetString(by,index);
直接就能完成你所有的要求了