【发布时间】:2011-07-20 18:38:31
【问题描述】:
请帮忙,我收到一个错误“无法调用,因为对象什么都不是”。但是我添加了一个查询来询问对象是否什么都不是。 Visual Studio 仍然进入例行程序。
Private WithEvents frm As frmFullScreen
Private Sub UpdateImageInGuiAsync(ByVal bm As System.Drawing.Bitmap)
If Me.frm.InvokeRequired = True Then
Dim dl As New BitmapDelegate(AddressOf UpdateImageInGuiGuiThread)
If Me.frm IsNot Nothing Then Me.frm.Invoke(dl, bm)
Else
Call Me.UpdateImageInGuiGuiThread(bm)
End If
End Sub
知道如何解决这个问题吗?
问候
【问题讨论】:
-
什么是
frm?它在哪里声明?你是如何初始化它的?代码错误在哪个子上?子从哪里调用? -
frm 是 System.Windows.Forms.Form(上面没有任何内容)。 frm = 新的 Form1。 Sub 称为 UpdateImage(bitmap)。它是从父级调用的。
-
什么时候调用?从
Form1表单退出后? -
方法被调用,比方说,每 1 秒。但是用户可以关闭
frm,并且在下一次调用时,方法应该退出下一个传入的图像。但是调试器没有显示正确的信息或没有计算,甚至我需要添加一些东西来捕捉这个错误。
标签: .net winforms multithreading invoke