标题:关于多线程的一个问题
只看楼主
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
 问题点数:0 回复次数:9 
关于多线程的一个问题

代码如下:
Public Sub prt()
Dim pt As System.Windows.Forms.SendKeys
Dim img As Image
pt.SendWait("{prtsc}")

img = My.Computer.Clipboard.GetImage
img.Save("e:\temp\1.jpg")
End Sub
我创建了一个SUB ,是将当前屏幕保存下来,并存成图片,如果我直接在form_load中执行此过程,可以正常运行!
但是,我用创建一个单独线程来运行时,老是在img.Save("e:\temp\1.jpg")这行上面提示"未将对像引用设置到对像实例"
不知道哪位高手知道这是为什么吗?

[此贴子已经被作者于2007-9-18 10:53:33编辑过]

搜索更多相关主题的帖子: temp 线程 Sub SUB 
2007-09-18 10:42
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
img = My.Computer.Clipboard.GetImage
这一句返回的是个null的

飘过~~
2007-09-18 11:11
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
得分:0 

我也怀疑是这样,,可是想不通,这个错误只会在开单独线程运行时出现!
如果我直接在form_load中运作此过程,,就不会出现这种情况呀!
这是为什么,难道,单独线程,有什么要求吗?

2007-09-18 11:24
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:0 
不是吧?放到Load()里面就不会出现,那你设个断点看一下吧.

飘过~~
2007-09-18 12:40
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
得分:0 
是的呀..我已经测过了..在LOAD里.没有问题...然后创建单独线程运行..就会出问题~
2007-09-18 13:04
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
得分:0 
pt.SendWait("{prtsc}")
不对吧。
SendWait()
是shared的

努力了有可能失败,不努力一定失败!
2007-09-18 16:54
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
得分:0 
不用sendwait 在独立线程里,根本无法运行~~
这个是可以的..问题出在..img得到的是null....不知道怎么回事~~~期待高手解答
2007-09-18 18:35
tntzwc
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:216
专家分:0
注 册:2007-4-28
得分:0 

你人品不好,在我这运行是可以的。


努力了有可能失败,不努力一定失败!
2007-09-19 08:43
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
得分:0 
- -! 版主,,太过份了吧..居然能扯到人品上....I服了U...

你是用独立线程运行的?能否贴出你的代码?
2007-09-19 10:17
myth_sky
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2006-12-31
得分:0 
版主,,,,怎么不发代码了???
2007-09-21 13:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-170831-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.203754 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved