表格挂起 - VB.NET 2008(在64位Vista上)

时间:2010-07-08 20:06:12

标签: vb.net 64-bit

我在Vista 64位操作系统下检测到运行我的应用程序时出现问题。

我的应用程序是使用VB.NT 2008开发的,编译为x86

我有一个主要表格。在此表单中,可以选择打开其他表单。第二种形式必须向主表单返回一些值。当用户单击此第二个表单时,要返回值,此表单将挂起(第二个表单挂起)

但是对于我所知道的,它继续执行打开表单之后存在的其余代码。我想说窗体对话框(第二种形式)没有关闭(挂起),但代码继续执行,因为我已经看到将数据插入数据库。

示例代码

主要表单

private sub SaveData()

 Dim f As New frmxxxx
    Try
      If f.ShowDialog = Windows.Forms.DialogResult.OK Then
        serie = f.f_serie
        doc = f.fdoc      
      Else
        If Not f Is Nothing Then
          f.Dispose()
          f = Nothing
        End If
        Exit Sub
      End If
    Catch ex As Exception    
      gSaveError(Me.Name, ex.ToString)
    Finally
      If Not f Is Nothing Then
        f.Dispose()
        f = Nothing
      End If
    End Try
'From here there are code to insert data in the database
......
.....

End Sub

第二种形式(frmxxxx)

Dim dtseries As DataTable
-------

  Public ReadOnly Property fserie() As String
    Get
      Return Me.cmbDocVtas.SelectedItem
    End Get
  End Property
  Public ReadOnly Property fdoc() As Boolean
    Get
      Return Me.chkAp.Checked
    End Get
  End Property


Private Sub frmXXXX_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
 Me.dtseries = Nothing
End Sub

Private Sub btOk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btOk.Click
   Me.DialogResult = DialogResult.OK
End Sub

有些东西在64位系统中有所不同吗?代码不正确?

在其他电脑中效果很好,

应用程序不会返回任何错误和任何异常。

提前感谢任何消化或帮助

1 个答案:

答案 0 :(得分:0)