Message d'erreur

Signaler
Messages postés
6
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
17 mars 2009
-
Messages postés
6
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
17 mars 2009
-
Bonjour tout le monde,
j'ai une application vb.net qui genere des fichiers excel et envoi ce fichier par email, ca marche tres bien mais des fois je recois un message d'erreur.

System.ArgumentOutOfRangeException: L'index et la longueur doivent faire référence à un emplacement situé dans la chaîne. Nom du paramètre : length à System.String.InternalSubStringWithChecks(Int32 startIndex, Int32 length, Boolean fAlwaysCopy) à System.String.Substring(Int32 startIndex, Int32 length) à PoMailPh.frmPrinc.fct_send_mail(String m_from, String m_to, String m_subject, Int32 m_type, String m_msg, String f_name) à PoMailPh.frmPrinc.fct_fill_excel(String[] lines, String sqltype) à PoMailPh.frmPrinc.procVerifFichier().

je sais pas exactement c koi qui declenche ce message d'erreur.
Merci bcp pour votre aide.

2 réponses

Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
68
quel est le code de ta procédure ?
Messages postés
6
Date d'inscription
mardi 17 mars 2009
Statut
Membre
Dernière intervention
17 mars 2009

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

If



Not
File.Exists(f_in &

"\pomail.lock"
)

Then

sFiles = Directory.GetFiles(f_in)


For
i = 0

To
sFiles.GetUpperBound(0)


If
InStr(sFiles(i),

".txt"
) > 0

Then

FreeF = FreeFile()


FileOpen(FreeF, sFiles(i), OpenMode.Input)


str = Split(InputString(FreeF, FileLen(sFiles(i))), Chr(10))


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))


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

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

merci