System.InvalidOperationException, Erreur située dans le designer
Bonjour,
Je fais appel à vous pour me sortir d'un problème. J'ai commencé à développé un programme et d'un coup j'ai eu une erreur que voici :
Code:
1 2
| Une exception non gérée du type 'System.InvalidOperationException' s'est produite
Informations supplémentaires : Une erreur s'est produite lors de la création du formulaire. Pour plus d'informations, consultez Exception.InnerException. L'erreur est : La référence d'objet n'est pas définie à une instance d'un objet. |
Cet erreur est situé sur une ligne du designer.vb de ma fenetre principale :
Code:
1 2 3 4
| <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _
Protected Overrides Sub OnCreateMainForm()
Me.MainForm = Global.ChatPriv.Form1
End Sub |
La ligne en cause est celle dans la fonction. N'ayant pas trop d’idées pour déboguer cette erreur, j'ai donc fais retour arrière et mis en commentaire tout les morceaux de codes récents. Mais rien n'y fait cette erreur ne disparaît pas et apparaît avant même la moindre exécution d'une ligne de code.
Voici le code de mon programme :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
| Imports System.Threading
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports System.IO
Public Class Form1
'******************THREAD - DELEGATES*************************
Dim threadReception As New Thread(AddressOf receptionContinue)
Dim threadVerfiConnect As New Thread(AddressOf verifConnectSocket)
Delegate Sub dModifFormulChat(ByVal data As String)
Dim modifChat As dModifFormulChat
'************VARIABLES COMMUNICATION SERVEUR******************
Dim client As TcpClient
Dim flux As NetworkStream = client.GetStream()
Dim writer As StreamWriter = New StreamWriter(flux)
Dim reader As StreamReader = New StreamReader(flux)
Dim portMax As Integer = 65535
Dim portMin As Integer = 1000
Dim regexIP As New RegularExpressions.Regex("([0-9]{1,3}\.){3}")
'******************VARIABLES MESSAGES*************************
Private Const errorIP As String = "L'adresse IP du serveur spécifiée n'est pas une addresse IP valide."
Private Const errorPort As String = "Le port spécifié est incorrect, il doit être un nombre valide."
Private Const inConnect As String = "Tentative de connexion au serveur en cours..."
Private Const connectOK As String = "Connexion au serveur réussie."
Private Const connectNOK As String = "La connexion au serveur a échoué."
Private Const deconnected As String = "La connexion avec le serveur a été perdue."
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
threadReception.IsBackground = True
threadVerfiConnect.IsBackground = True
End Sub
Private Sub buttonConnect_Click(sender As Object, e As EventArgs) Handles buttonConnect.Click
Dim serverAdress As IPAddress
Dim serverPort As Integer
Dim readyToConnect As Boolean = False
If IPAddress.TryParse(adressServer.Text, serverAdress) And regexIP.IsMatch(adressServer.Text) Then
readyToConnect = True
Else
formulChat.AppendText(errorIP + vbCrLf)
readyToConnect = False
End If
If IsNumeric(portServer.Text) Then
serverPort = CType(portServer.Text, Integer)
If serverPort > portMin And serverPort < portMax Then
readyToConnect = True
Else
readyToConnect = False
formulChat.AppendText(errorPort + vbCrLf)
End If
Else
readyToConnect = False
formulChat.AppendText(errorPort + vbCrLf)
End If
If readyToConnect Then
socketConnect(serverAdress, serverPort)
End If
End Sub
Private Sub socketConnect(ByVal ip As IPAddress, ByVal port As Integer)
'Connection au socket via TcpClient
formulChat.AppendText(inConnect + vbCrLf)
Try
client = New TcpClient(ip.ToString, port)
If threadReception.ThreadState = ThreadState.Unstarted Then
threadReception.Start()
End If
If threadVerfiConnect.ThreadState = ThreadState.Unstarted Then
threadVerfiConnect.Start()
End If
Catch ex As Exception
formulChat.AppendText(connectNOK + vbCrLf)
PictureBox1.Image = My.Resources.rondRouge
End Try
End Sub
Private Sub modifFormulChat(ByVal data As String)
formulChat.AppendText(data)
End Sub
Private Sub verifConnectSocket()
Dim socketConnect As Boolean = False
While True
If client.Connected And Not socketConnect Then
socketConnect = True
PictureBox1.Image = My.Resources.rondVert
Me.Invoke(modifChat, (connectOK + vbCrLf))
End If
If Not client.Connected And socketConnect Then
socketConnect = False
PictureBox1.Image = My.Resources.rondRouge
Me.Invoke(modifChat, (deconnected + vbCrLf))
End If
End While
End Sub
Private Sub receptionContinue()
While client.Connected
Try
If Not reader.EndOfStream Then
formulChat.AppendText(reader.ReadToEnd)
End If
Catch ex As Exception
End Try
End While
End Sub
End Class |
Merci d'avance de vous pencher sur mon soucis.
Cordialement
EDIT: J'ai trouvé mon erreur. Le problème vient de cette partie dans l'initialisation de mes variables :
Code:
1 2 3 4
| Dim client As TcpClient
Dim flux As NetworkStream = client.GetStream()
Dim writer As StreamWriter = New StreamWriter(flux)
Dim reader As StreamReader = New StreamReader(flux) |
Je configure mon stream a partir d'un TcpClient non instancié .....