Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de XP,
même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de XP,
même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de XP,
même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de
XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: uIRESM7UFHA.3280@TK2MSFTNGP09.phx.gbl...
Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de
XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à la
suitye d'un autre, le on Error goto fonctionne sur un ordinateur et pas
sur un autre avce les mêmes caractéristiques à priori (même version de
XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion d'erreur
à la fin de la procédure
"Christian Hubert-Hugoud" a écrit dans le message
de news: d5kq4v$n6j$Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion d'erreur
à la fin de la procédure
"Christian Hubert-Hugoud" <c2h_nospam@couriel.biz> a écrit dans le message
de news: d5kq4v$n6j$1@aphrodite.grec.isp.9tel.net...
Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: uIRESM7UFHA.3280@TK2MSFTNGP09.phx.gbl...
Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion d'erreur
à la fin de la procédure
"Christian Hubert-Hugoud" a écrit dans le message
de news: d5kq4v$n6j$Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans la
gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On Error
Goto. Donc, je précise en mode programmation (pas nécessairement en
exécutable), sur une machine le programme fonctionne exactement comme
souhaité si T1 est Nothing, sur un autre il plante sur erreur sans tenir
compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Mouais, possible. Je n'ai jamais réussi à faire fonctionner le on error
goto 0 comme je le voulais. Mais j'ai vu quelque part que le resume est
très fortement recommandé dans tous les cas (resume, ou resume next), il
me semble que c'était dans l'aide.
Pour ce qui est des fonctionnements différents suivant les plateformes, je
me souviens qu'en VB5 il y avait des mauvaises détections d'erreur sur les
tableaux (on sortait de la procédure sans que rien ne se passe sur des
mauvaises affectations).
De plus, j'ai développé en C sous OS9 et suivant le microprocesseur, des
erreurs étaient ou non détectées dans la compilation. Or, ce qui est
derrière VB est un compilateur C/C++.
Enfin, j'utilise le REDIM de la façon suivante :
ReDim Preserve T1(UBound(T2))
et non
ReDim Preserve T1(1 To N + UBound(T2))
Tant pis pour l'id=0. Moyennant quoi (peut-être) je n'ai jamais eu de pb
de ce type.
Je ne sais pas si tout cela peut t'aider...
Christian
"Patrice Henrio" a écrit dans le message de
news:Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion
d'erreur à la fin de la procédure
"Christian Hubert-Hugoud" a écrit dans le
message de news: d5kq4v$n6j$Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans
la gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On
Error Goto. Donc, je précise en mode programmation (pas nécessairement
en exécutable), sur une machine le programme fonctionne exactement
comme souhaité si T1 est Nothing, sur un autre il plante sur erreur
sans tenir compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Mouais, possible. Je n'ai jamais réussi à faire fonctionner le on error
goto 0 comme je le voulais. Mais j'ai vu quelque part que le resume est
très fortement recommandé dans tous les cas (resume, ou resume next), il
me semble que c'était dans l'aide.
Pour ce qui est des fonctionnements différents suivant les plateformes, je
me souviens qu'en VB5 il y avait des mauvaises détections d'erreur sur les
tableaux (on sortait de la procédure sans que rien ne se passe sur des
mauvaises affectations).
De plus, j'ai développé en C sous OS9 et suivant le microprocesseur, des
erreurs étaient ou non détectées dans la compilation. Or, ce qui est
derrière VB est un compilateur C/C++.
Enfin, j'utilise le REDIM de la façon suivante :
ReDim Preserve T1(UBound(T2))
et non
ReDim Preserve T1(1 To N + UBound(T2))
Tant pis pour l'id=0. Moyennant quoi (peut-être) je n'ai jamais eu de pb
de ce type.
Je ne sais pas si tout cela peut t'aider...
Christian
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: uIqTn67UFHA.3140@TK2MSFTNGP14.phx.gbl...
Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion
d'erreur à la fin de la procédure
"Christian Hubert-Hugoud" <c2h_nospam@couriel.biz> a écrit dans le
message de news: d5kq4v$n6j$1@aphrodite.grec.isp.9tel.net...
Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans
la gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news: uIRESM7UFHA.3280@TK2MSFTNGP09.phx.gbl...
Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On
Error Goto. Donc, je précise en mode programmation (pas nécessairement
en exécutable), sur une machine le programme fonctionne exactement
comme souhaité si T1 est Nothing, sur un autre il plante sur erreur
sans tenir compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Mouais, possible. Je n'ai jamais réussi à faire fonctionner le on error
goto 0 comme je le voulais. Mais j'ai vu quelque part que le resume est
très fortement recommandé dans tous les cas (resume, ou resume next), il
me semble que c'était dans l'aide.
Pour ce qui est des fonctionnements différents suivant les plateformes, je
me souviens qu'en VB5 il y avait des mauvaises détections d'erreur sur les
tableaux (on sortait de la procédure sans que rien ne se passe sur des
mauvaises affectations).
De plus, j'ai développé en C sous OS9 et suivant le microprocesseur, des
erreurs étaient ou non détectées dans la compilation. Or, ce qui est
derrière VB est un compilateur C/C++.
Enfin, j'utilise le REDIM de la façon suivante :
ReDim Preserve T1(UBound(T2))
et non
ReDim Preserve T1(1 To N + UBound(T2))
Tant pis pour l'id=0. Moyennant quoi (peut-être) je n'ai jamais eu de pb
de ce type.
Je ne sais pas si tout cela peut t'aider...
Christian
"Patrice Henrio" a écrit dans le message de
news:Je pensais que le on Error GoTo 0 permettait d'inhiber la gestion
d'erreur à la fin de la procédure
"Christian Hubert-Hugoud" a écrit dans le
message de news: d5kq4v$n6j$Ce qui me saute aux yeux est qu'il n'y a pas d'instruction resume dans
la gestion d'erreur. Est-ce voulu ?
Christian
"Patrice Henrio" a écrit dans le message de
news:Dans la sub ci-dessous qui consiste à recopier rapidement un tableau à
la suitye d'un autre, le on Error goto fonctionne sur un ordinateur et
pas sur un autre avce les mêmes caractéristiques à priori (même version
de XP, même SP, même version de vb, même SP)
Si quelqu'un a une idée.
L'erreur se produit sur Ubound(T1) d'où d'ailleurs l'utilité du On
Error Goto. Donc, je précise en mode programmation (pas nécessairement
en exécutable), sur une machine le programme fonctionne exactement
comme souhaité si T1 est Nothing, sur un autre il plante sur erreur
sans tenir compte du On Error GoTo.
Merci de vos réponses.
Public Sub AjoutPoints(ByRef T1() As PointAPI, ByRef T2() As PointAPI)
'On ajoute les points de T2 à T1, les deux tableaux débutent à 1
Dim N As Long
On Error GoTo T1_est_vide
'Si le tableau T1 n'est pas initialisé, le traitement d'erreur permet
d'ignorer le Ubound(T1)
N = UBound(T1)
ReDim Preserve T1(1 To N + UBound(T2))
CopyMemory T1(N + 1), T2(1), UBound(T2) * Len(T2(1))
On Error GoTo 0
Exit Sub
T1_est_vide:
T1 = T2
End Sub
Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
next ce qui ne correspond pas à mon besoin.
Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
next ce qui ne correspond pas à mon besoin.
Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
next ce qui ne correspond pas à mon besoin.
"Patrice Henrio" a écrit dans le message de
news:Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette
opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent
tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
resumenext ce qui ne correspond pas à mon besoin.
Hello,
une façon classique d'utiliser le On error
et le resume:
Private Sub Command1_Click()
Dim v As Integer
v = maFonction
If v = 0 Then
MsgBox "Tout va bien."
Else
MsgBox "Tout va mal. Erreur = " & v
End If
End Sub
Public Function maFonction() As Integer
On Error GoTo maFonctionErreur
Dim a As Integer
Dim iRet As Integer
iRet = 0 ' 0 = tout va bien
' code normal
a = 1
' ici une erreur se produit
a = a / 0
maFonctionFinNormale:
maFonction = iRet
Exit Function
maFonctionErreur:
' traitement de l'erreur
iRet = -1 ' qq chose pour signaler l'erreur
Resume maFonctionFinNormale:
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
http://membres.lycos.fr/jeanmarcn/trollthemup.htm
"Patrice Henrio" <patrice.henrio@laposte.net> a écrit dans le message de
news:uHmDzU9UFHA.544@TK2MSFTNGP15.phx.gbl...
Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette
opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent
tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
resume
next ce qui ne correspond pas à mon besoin.
Hello,
une façon classique d'utiliser le On error
et le resume:
Private Sub Command1_Click()
Dim v As Integer
v = maFonction
If v = 0 Then
MsgBox "Tout va bien."
Else
MsgBox "Tout va mal. Erreur = " & v
End If
End Sub
Public Function maFonction() As Integer
On Error GoTo maFonctionErreur
Dim a As Integer
Dim iRet As Integer
iRet = 0 ' 0 = tout va bien
' code normal
a = 1
' ici une erreur se produit
a = a / 0
maFonctionFinNormale:
maFonction = iRet
Exit Function
maFonctionErreur:
' traitement de l'erreur
iRet = -1 ' qq chose pour signaler l'erreur
Resume maFonctionFinNormale:
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
http://membres.lycos.fr/jeanmarcn/trollthemup.htm
"Patrice Henrio" a écrit dans le message de
news:Pour ce qui est du redim, tout fonctionne parfaitement. Il s'agit de
concaténer deux tableaux. Le CopyMemory me permet de faire cette
opération
sans parcourir le tableau.
D'où aussi le redim Ubound(T1)+Ubound(T2) car mes tableaux commencent
tous
les deux à 1.
Je vais creuser l'histoire du resume que je connaissais surtout avec
resumenext ce qui ne correspond pas à mon besoin.
Hello,
une façon classique d'utiliser le On error
et le resume:
Private Sub Command1_Click()
Dim v As Integer
v = maFonction
If v = 0 Then
MsgBox "Tout va bien."
Else
MsgBox "Tout va mal. Erreur = " & v
End If
End Sub
Public Function maFonction() As Integer
On Error GoTo maFonctionErreur
Dim a As Integer
Dim iRet As Integer
iRet = 0 ' 0 = tout va bien
' code normal
a = 1
' ici une erreur se produit
a = a / 0
maFonctionFinNormale:
maFonction = iRet
Exit Function
maFonctionErreur:
' traitement de l'erreur
iRet = -1 ' qq chose pour signaler l'erreur
Resume maFonctionFinNormale:
End Function
--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
http://membres.lycos.fr/jeanmarcn/trollthemup.htm