私の質問は少し複雑です:
私はソケットサーバーを持っています、そして私は2つのフォームを持っています。1つはサーバーのメインフォームで、もう1つはカスタムメイドのメッセージボックスです。リクエストがサーバーに到着すると、メインフォームは2番目のフォーム(メッセージボックス)を呼び出す必要があります。メインフォームを初めて開いたときは、すべて正常に機能します。しかし、アプリケーションを閉じずにメインフォームを閉じて再度開くと、サーバーにリクエストが届くと、カスタムメイドのメッセージボックスが開きますが、フリーズして次のようになります。
呼び出すためのコード:
Private Delegate Sub DInvoke(ByRef Frm As Form, ByVal Text As String, ByVal Title As String, ByVal Socket As Integer, ByVal DataX As String, ByVal ReqForProfil As Boolean)
Public Sub ShowMessage(ByRef Frm As Form, ByVal Text As String, ByVal Title As String, ByVal Socket As Integer, ByVal DataX As String, ByVal ReqForProfil As Boolean)
If Frm.InvokeRequired Then
Dim DT As New DInvoke(AddressOf ShowMessage)
Frm.Invoke(DT, New Object() {Frm, Text, Title, Socket, DataX, ReqForProfil})
Else
Messegar = New MessageFrm(Text, Title, Socket, DataX, ReqForProfil, True, 30)
Messegar.Show()
End If
End Sub
どんな助けでもいただければ幸いです!