ClipBoard在两个进程间传递对象问题 解决马上给分
使用ClipBoard在两个进程中实现数据交换
传递的对象是
<Serializable()> Public Class MyNewObject
Inherits Object
......
End Class 'MyNewObject
在两个程序中有相同的类定义
程序1向 ClipBoard复制 对象
Dim tObject As New MyNewObject
Dim myDataObject As New DataObject(DataFormats.Serializable, tObject)
Clipboard.SetDataObject(myDataObject)
程序2从ClipBoard中取对象
Dim robject As IDataObject = Clipboard.GetDataObject
If robject.GetDataPresent(DataFormats.Serializable, True) Then
Dim myrObject As New MyNewObject
myrObject = CType(robject.GetData(DataFormats.Serializable), MyNewObject)
End If
对象实例化及对象内部定义略
问题是 程序二在提取对象的时候,可以判断出剪切板中有Serializable类型的数据,但是提取出来的
对象是Nothing,在调用myrObject的成员时,系统出错原因是对象未被实例化
相同的代码在同一个进程中是可以实现对象读取的。请高手们指点。