吐血跑求,困惑了快一个月的问题问题比较复杂,善心的朋友加我QQ 24358512 MSN [email protected]由于程序IP限制帮我调试只能通过 远程控制我机器进行。问题根述:通过朋友介绍的文档,试了一遍又一遍,改了一次又一次运行结果总有错误。
程序是一个省短信端口调用程序,调用的是东软提供的C++DLL,在C++DLL中有许多结构类型,
其中包括联合,结构引用正常,但用到联合时总出现问题......
程序是一个省短信端口调用程序,调用的是东软提供的C++DLL,在C++DLL中有许多结构类型,
其中包括联合,结构引用正常,但用到联合时总出现问题......
解决方案 »
- [求解]互斥多开实现方法
- 正则表达提取失败!
- 求助:C#应用程序读取网页上实时的上证指数、深证成指等信息
- 关于url编码
- WinForm菜单栏上有个关于,是写版权信息的,怎么写专业点?
- CookieContainer的问题,运行一会cookie失效。。。。在线给分
- 求正则表达式~
- 想做一个类似于vs.net的界面制作环境,尤其是带小点点的工作区,应该怎么做呢?那位大侠能给指点一下呢,谢谢!
- 求企业网站源代码(asp.net的c#),分不够再给
- 客户端用SocketAsyncEventArgs 异步接受数据,有时会出现接受的数据不对
- 用SharpZipLib给文件压缩时,加上的密码,但是在解压时出错,请高手指点
- 为什么我的方法和委托不匹配……
''' 内存数据复制
''' </summary>
''' <param name="hpvDest"></param>
''' <param name="hpvSource"></param>
''' <param name="cbCopy"></param>
''' <res>
''' </res>
Private Overloads Sub CopyMemory(ByRef hpvDest As Object, ByRef hpvSource As Object, ByVal cbCopy As Integer)
If TypeOf hpvSource Is Array Then
If TypeOf hpvDest Is Array Then '数组之间的数据复制
Array.Copy(hpvSource, hpvDest, Math.Min(cbCopy, Math.Min(hpvSource.Length, hpvDest.length)))
Else '数组数据复制到结构
Dim destPtr As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(hpvDest))
Try
Marshal.Copy(hpvSource, 0, destPtr, Math.Min(cbCopy, Marshal.SizeOf(hpvDest)))
hpvDest = Marshal.PtrToStructure(destPtr, hpvDest.GetType())
Marshal.FreeHGlobal(destPtr)
Catch ex As Exception
Marshal.FreeHGlobal(destPtr)
Throw ex
End Try
End If
ElseIf TypeOf hpvDest Is Array Then '结构数据复制到数组
Dim SourcePtr As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(hpvSource))
Try
Marshal.StructureToPtr(hpvSource, SourcePtr, True)
Marshal.Copy(SourcePtr, hpvDest, 0, Math.Min(Marshal.SizeOf(SourcePtr), Math.Min(cbCopy, hpvDest.Length())))
Marshal.FreeHGlobal(SourcePtr)
Catch ex As Exception
Marshal.FreeHGlobal(SourcePtr)
Throw ex
End Try
Else '结构之间的数据交换
Dim SourcePtr As IntPtr = Marshal.AllocHGlobal(Marshal.SizeOf(hpvSource))
Try
Marshal.StructureToPtr(hpvSource, SourcePtr, True)
hpvDest = Marshal.PtrToStructure(sourceptr, hpvDest.GetType())
Marshal.FreeHGlobal(SourcePtr)
Catch ex As Exception
Marshal.FreeHGlobal(SourcePtr)
Throw ex
End Try
End If End Sub楼主如不明白,请用MSN联系:[email protected]