CallByName et Err.Raise : Ca plante !!

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 23 mars 2004 à 10:35
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 - 24 mars 2004 à 13:37
Boujou les gars ! (Et les filles !)

Voila mon souci : J'ai un module de classe , disons Class1,avec une méthode public, disons Toto
Dans cette méthode je je déclenche une erreur par un "Err.Raise ..."
Si je crée un objet à partir de Class1, disons Obj et que je fait :
Dim Obj As New Class1
Obj.Toto

j'obtiens bien mon erreur tel que je l'ai déclenchée dans Toto
Mais si je fait
Dim Obj as New Class1
CallByName Obj, "Toto",  VbMethod

j'obtiens une erreur Automation N°440 !!!

Z'auriez pas une idée ??

Christophe R.

6 réponses

Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mars 2004 à 12:24
Chez moi ça fonctionne bien...

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
23 mars 2004 à 13:13
Ben tu dois avoir un bug alors !!! Car je viens de trouver sur MSDN que c'est un disfonctionnement connu de CallByName, Il faut utiliser InvokeHook de la TLI pour que ca marche !!
Si chez toi ca marche, c'est pas normal !!!!!

Qu'est-ce qu'on s'amuse avec VB !!!!!!!

Christophe R.
0
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
23 mars 2004 à 17:20
A moins que je n'ai pas compris.....

Ca fonctionne bien a mon boulot.....

Dans ma classe :

Option Explicit

Public Sub Toto()
    Err.Raise 9999
End Sub


dans ma Form :
Option Explicit

Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim Obj As New Class1
    
    MsgBox Button & "° methode :"
    Select Case Button
        Case vbLeftButton
            Obj.Toto
        Case vbRightButton
            CallByName Obj, "Toto", VbMethod
    End Select
End Sub


By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
24 mars 2004 à 08:38
Ben non c'est ca !! Et dans le cas ou tu cliques avec le bouton droit (utilisation du CallByName) tu as bien une erreur 9999 qui apparait, pas une erreur "440 Erreur Automation" ???
Suis en VB6 SP5 sous XP Pro SP1 et toi ?

Christophe R.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
24 mars 2004 à 13:14
Pareil, mais sous NT...

et j'ai bien mon message perso dans les deux cas...(boutons gauche et droit...)

By Renfield

[mailto:thomas_reynald@msn.com thomas_reynald@msn.com]

Aucune touche n'a ete blessee lors de la saisie de ce texte.......... ;)
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
24 mars 2004 à 13:37
Bon ben je comprend plus rien alors !! Si les bug connu de M$ n'e sont plus je démissionne !!
Bon de toute façon je me suis débrouillé en remplacant l'appel à CallByName par un appel à la TLI et la ca marche nickel !!
Merci qd meme renfield !!

Christophe R.
0
Rejoignez-nous