作者JlTsai (纸片人 )
看板Visual_Basic
标题Re: [VB2008] 并未将物件参考设定为物件的执行个体?
时间Fri Sep 4 15:54:01 2009
会出现 Exception的程式码似乎在这一段
上篇推文中 P大建议我将 Dim a as xxx = new xx()
但是我修改完会出现错误 例如以下红色字
Private Sub timer1_Tick(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles timer1.Tick
Dim port As Integer = 5000
Try
' 复杂影像至剪贴簿(Clipboard)
SendMessage(hwnd, WM_CAP_EDIT_COPY, 0, 0)
' 自剪贴簿(Clipboard)取得物件
Dim data As IDataObject = Clipboard.GetDataObject()
将上行改成
Dim data As IDataObject = New Clipboard.GetDataObject()
则会出现 型别'Clipboard.GetDataObject'未定义
' 建立记忆体的资料流
Dim memStream As New System.IO.MemoryStream()
If data.GetDataPresent(GetType(System.Drawing.Bitmap)) Then
Dim image As Image =
CType((data.GetData(GetType(System.Drawing.Bitmap))), Image)
' 将影像依指定格式储存至指定的资料流
image.Save(memStream, ImageFormat.Jpeg)
End If
' 将影像依指定格式储存至指定的资料流
picLocal.Image.Save(memStream, ImageFormat.Jpeg)
' 回传记忆体资料流之位元组阵列
Dim buffer As Byte() = memStream.GetBuffer
' 建立用户端TcpClient
Dim tcpClient As New TcpClient(txtHost.Text, port)
' 取得用户端的输出入串流
clientStream = tcpClient.GetStream()
' 建立BinaryWriter
Dim binarywriter As New BinaryWriter(clientStream)
binarywriter.Write(buffer)
binarywriter.Flush()
binarywriter.Close()
memStream.Flush()
memStream.Close()
clientStream.Flush()
clientStream.Close()
tcpClient.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK,
MessageBoxIcon.Error)
End Try
End Sub
请问该如何修改呢??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.127.205.249
1F:推 Peruheru:那是因为你这样变成重复宣告啊XD 09/04 16:34
2F:→ Peruheru:看错了,啧 09/04 16:34
3F:→ Peruheru:那个东西是来自其他物件的话,就不需要做那改变 09/04 16:35
4F:→ Peruheru:但相对的,就要确定另外那个来源物件是否存在 09/04 16:36
5F:→ Peruheru:Clipboard.GetDataObject()看起来,後者是前者的方法 09/04 16:37
6F:→ Peruheru:也就是要先确定,前者物件是否存在 09/04 16:38
7F:→ Peruheru:我没用过这个,不知道这东西是怎麽来的 09/04 16:38
8F:推 Peruheru:你的错误出在哪?光是剪贴簿那部分我自己试可以用 09/04 16:50
9F:→ Peruheru:没有被正确宣告的到底是谁?错误讯息应该有说 09/04 16:50
10F:推 fumizuki:New 要接的是类别名称,不是方法 09/04 21:09
11F:→ fumizuki:而且 Clipboard.GetDataObject()不需要建立物件实体 09/04 21:11
12F:→ fumizuki:Dim text As String = Clipboard.GetText() 09/04 21:12
13F:→ fumizuki:就可以取得剪贴簿中的文字了 09/04 21:12
14F:推 fumizuki:Clipboard.GetDataObject() 取得一个物件 09/04 21:13