ClipBoard在两个进程间传递对象问题 解决马上给分

yuetoby 2005-09-19 11:30:11
使用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的成员时,系统出错原因是对象未被实例化

相同的代码在同一个进程中是可以实现对象读取的。请高手们指点。
...全文
120 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
机器人 2005-09-26
  • 打赏
  • 举报
回复
那你把序列化之后的Byte数组放到剪切板里,那边反序列化吧。
yuetoby 2005-09-21
  • 打赏
  • 举报
回复
由于需求的原因
不准备使用文件 来 实现进程通信
tl_pear 2005-09-20
  • 打赏
  • 举报
回复
问题应该在你创建的类(MyNewObject)上:
我把你的代码改为:
程序一:
TextBox1.Text="123456"
Dim myDataObject As New DataObject(DataFormats.Serializable, TextBox1.Text)
Clipboard.SetDataObject(myDataObject, True)
程序二:
Dim robject As IDataObject = Clipboard.GetDataObject
If robject.GetDataPresent(DataFormats.Serializable, True) Then
Dim myrObject As String
myrObject = CType(robject.GetData(DataFormats.Serializable), String)
MsgBox(myrObject)
End If
程序二显示的结果是"123456".
ranzige 2005-09-20
  • 打赏
  • 举报
回复
是对象未被实例化
具体的还不清楚,帮你UP一下! ̄

===============================
CSDN小助手 是一款脱离浏览器也可以使用csdn论坛的
软件!
界面: http://qqwwee.com/
下载: http://qqwwee.com/csdn.rar 包含源代码
机器人 2005-09-20
  • 打赏
  • 举报
回复
序列化到二进制或者xml文件中去啊。另一个进程读此文件就可以了嘛。
yuetoby 2005-09-20
  • 打赏
  • 举报
回复
我要传的是对象,如果要传string就不用这么费劲了
yuetoby 2005-09-19
  • 打赏
  • 举报
回复
这两个进程是同时存在的 SetDataObject的第二个参数
是当一个进程关闭后,复制的数据时候仍然可用,跟主题没有关系
多谢各位,还请高手指点
gp01fb625 2005-09-19
  • 打赏
  • 举报
回复
密切关注中;希望能有高手指点下
3tzjq 2005-09-19
  • 打赏
  • 举报
回复
试试:
Clipboard.SetDataObject(myDataObject, True)

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧