Bonjour tout le monde,
j'ai un message d'erreur concernant l'instanciation d'un objet:
System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet. à PoMailPh.frmPrinc.procVerifFichier() à PoMailPh.frmPrinc.fct_watch_folder()
Suite a des recherches, j'ai su que ca se regle par new mais je vois pas ou je peux l'integrer et de quel objet il s'agit dans cette partie de code.
Private Sub procVerifFichier() Dim i As Integer Dim sFiles() As String Dim FreeF As Integer Dim str() As String Dim tmp() As String Do Try 'System.Threading.Thread.Sleep(5000) If Not File.Exists(f_in & "\pomail.lock") Then 'pour avoir les noms des fichiers et des sous-répertoires sFiles = Directory.GetFiles(f_in) For i = 0 To sFiles.GetUpperBound(0) If InStr(sFiles(i), ".txt") > 0 Then 'System.Threading.Thread.Sleep(5000) FreeF = FreeFile() 'Possibilité de mettre 1************ FileOpen(FreeF, sFiles(i), OpenMode.Input) 'Ouverture du fichier créé********** str = Split(InputString(FreeF, FileLen(sFiles(i))), Chr(10)) 'Séparation des lignes du fichier*** FileClose(FreeF) File.Delete(archive & sFiles(i).Substring(27, sFiles(i).Length - 27)) File.Move(sFiles(i), archive & sFiles(i).Substring(27, sFiles(i).Length - 27)) 'MsgBox(sFiles(i), archive & sFiles(i)) With txtwatch .SelectionStart = Len(txtwatch.Text) .SelectionProtected = False .SelectionStart = Len(txtwatch.Text) + 1 .SelectionColor = System.Drawing.Color.Red .SelectedText = "Fichier créé : " & Replace(sFiles(i), f_in, "") & " " & Date.Now & vbCrLf .SelectionProtected = True .Focus() .SelectionStart = txtwatch.Text.Length .ScrollToCaret() End With tmp = Split(Replace(Replace(str(0), Chr(34), ""), "'", " "), ";") 'If tmp(2).ToUpper <> "V" Then 'Exit Sub 'end if If tmp(2).ToUpper = "V" Then fct_fill_sql(str, sFiles(i).Substring(27, 2).ToUpper) fct_fill_excel(str, sFiles(i).Substring(27, 2).ToUpper) End If End If If File.Exists(f_in & "\pomail.lock") Then Exit For Next End If Catch ex As Exception fct_send_mail(envoyeur, warning, "ERREUR PO VIA MAIL " & Replace(sFiles(i), f_in, ""), 0, ex.ToString, "none") '# erreur no 1 fct_exec_sql("UPDATE pur_order SET err=1 WHERE pur_order.po_number='0'") End Try Exit Do Loop End Sub
dans .fct_watch_folder(), j'appelle la fonction procVerifFichier().
Merci beaucoup pour votre aide.