Message d'erreur

kovalev24 Messages postés 6 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 mars 2009 - 20 janv. 2009 à 18:39
kovalev24 Messages postés 6 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 mars 2009 - 20 janv. 2009 à 20:34
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

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 71
20 janv. 2009 à 20:24
quel est le code de ta procédure ?
0
kovalev24 Messages postés 6 Date d'inscription mardi 17 mars 2009 Statut Membre Dernière intervention 17 mars 2009
20 janv. 2009 à 20:34
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
0
Rejoignez-nous