VB6 ADDIN - FAITES DISPARAITRE LES MSGBOX D'ERREUR IDE

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 5 août 2009 à 18:02
Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 - 30 avril 2010 à 23:07
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/50405-vb6-addin-faites-disparaitre-les-msgbox-d-erreur-ide

Philippe734 Messages postés 308 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 15 juin 2015 1
30 avril 2010 à 23:07
Idée géniale, source de grande qualité, comme d'hab.
Améliorer notre classic VB est une tache qu'ebartsoft réalise à merveille. Bravo et continue eb !

>snkvrt : si tu cherche un addin pour indenter alors smart indenter te plairas
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
29 déc. 2009 à 13:35
Merci Jack, j'avais déjà installé MzTools qui est très pratique c'est vrai, mais dès lors, j'avais à chaque ouverture de VB6 un message d'alerte "L'objet ne gère pas cette action" ou quelque chose dans le genre, et ça m'agaçait.

Mais avoue que le formatage automatique comme dans VB.Net ça serait chouette :)
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 déc. 2009 à 12:15
Mea culpa : MzTools ne gère pas la présentation (indentation) du code, mais il a tellement d'autres fonctionnalités plus intéressantes.
Pour reformater le code, il suffit de rechercher sur un moteur de recherche :
vb6 formatter
vb6 code indentation
pour trouver des codes qui manipulent les codes.

Il est de bonnes habitudes de s'occuper de la présentation au fur et à mesure de la saisie (*)
Le reformatage de code est une opération qu'on ne fait que 1 ou 2 fois par an, donc pas la peine de rechercher un Addin qui va poluer l'IDE (VB6 gère très mal les AddIns qui finissent par déconner un jour ou l'autre)

(*) Pour info, si tu sélectionnes un groupe de lignes que tu veux déplacer les gauche ou vers la droite, il te suffit, après sélection, d'utiliser Shift-Tab (gauche) ou Tab (droite).
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
29 déc. 2009 à 11:31
@SNKVRT : Pour l'indentation et autres fonctions très utiles, il y a MzTools : un AddIn très performant et gratuit pour VB6 et VBA.
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
28 déc. 2009 à 23:58
Oups !
J'avais oublié de noter...10/10 bien sur.
SnkVrt Messages postés 89 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 23 février 2010
28 déc. 2009 à 23:53
J' ai pris ta dll pour gérer le scroll, puis maintenant ça.
Moi, je ne migre pas vers vb.net mais vers Visual Basic .EB !!

Ils sont vraiment très pratiques tes Addins EBartSoft,
Bravo et merci

j'attend celui qui indentera le code ;)
schmurtz Messages postés 10 Date d'inscription mercredi 13 février 2002 Statut Membre Dernière intervention 18 janvier 2009
26 nov. 2009 à 12:34
Génial, merci pour cet outil qui rend l'IDE un peu moins irritant ;-)
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
10 août 2009 à 17:38
lol, pas grave ... Merci ;P
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
10 août 2009 à 17:36
faut la créer, j'ai la flemme de faire un panneau de config :p
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
10 août 2009 à 17:27
J'ai le VB6.0 FR, je ne trouve pas ça: "VB6Alert\Settings\Tab = 0".
"VB6Alert" N'existe pas, faut il la créer ?
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
10 août 2009 à 09:16
On change justeune clef dans la base de registre :

"HKEY_CURRENT_USER\Software\VB and VBA Program Settings\VB6Alert\Settings\Tab = 0"
Utilisateur anonyme
10 août 2009 à 01:09
Heu..., mais si on veut par ordre alphabétique ?
__
Kenji
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
9 août 2009 à 23:19
Ha ! Tu m'étonne :D
Tu fais comment ? T'as pas le Code source de l'IDE VB6 Par hasard ? xD
En tous cas, EBArtSoft T'est le Best ! Merci :)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
9 août 2009 à 20:12
reacen> J'ai mis a jour.
Reacen Messages postés 282 Date d'inscription mardi 22 août 2006 Statut Membre Dernière intervention 21 décembre 2010
9 août 2009 à 17:58
Oula, C'est génial 10/10 ! En faite j'ai une question ?

Quand j'ouvre VB6.0 à chaque fois, il faut que je clique sur l'onglet "Par Catégorie" dans la Fenêtre de propriétés des contrôles. (au lieu du "Alphabétique" par défaut, car j'ai l'habitude).

EBArtSoft, pensez vous qu'il y a un moyen de modifier l'IDE pour ce problème ?
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 août 2009 à 15:16
Ah bah, oui, "Vérification automatique de la syntaxe"
Ca ne me serait jamais venu à l'idée de le désactiver.
On en apprend tous les jours !
Merci
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
8 août 2009 à 12:01
Charles> tout juste l'option s'appel "Syntaxe checkin" (dans la version anglaise) désactivé, la ligne devient est rouge sans aucune autre indication.

Et quand on jongle avec plusieurs langage c'est tout aussi frustrant de ne pas savoir ce qui cloche. Je te l'accorde ça nécessite quelques secondes de réflexion mais je suis fainéant je préfère qu'on me dise tout de suite ce qui ne va pas surtout quand l'information est déjà la.

@+
Utilisateur anonyme
8 août 2009 à 10:45
Très bon add-in. Nickel.
Jack> Non, il existe bien une option pour la désactivée. Je la décoche toujours par défaut, il met les lignes en rouge mais n'affiche pas de messagebox.
__
Kenji
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 août 2009 à 00:43
Pas pour les erreurs dues aux anomalies de saisie du code (un oubli de parenthèses, etc), uniquement pour la getion d'erreur engendré par le programme lui-même.
cs_Appil Messages postés 208 Date d'inscription mercredi 10 avril 2002 Statut Membre Dernière intervention 11 juin 2014
8 août 2009 à 00:24
Mais je me rappelle bien qu'il y a une case à cocher à décocher dans les options de l'IDE pour se débarrasser du message d'erreur, c'est pas suffisant ?
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
7 août 2009 à 15:35
Non pas du tout un exemple :

Si tu hook en à la racine avec GetProcAddress :
- Le module A qui appel la fonction de la dll ira vers ta fonction
- Le module B qui appel la fonction de la dll ira vers ta fonction
- Tout autre module N qui appel la fonction de la dll ira vers ta fonction

Si tu hook par module avec GetModProcAddress :
- Le module A qui n'est pas hooké et qui appel la fonction de la dll ira vers la dll
- Le module B qui lui est hooké et qui appel la fonction de la dll ira vers ta fonction
- Tout autre module N qui appel la fonction de la dll ira vers la dll

Je peux pas faire plus simple comme démo

@+
guillaume_00 Messages postés 18 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
7 août 2009 à 15:23
Oui GetProcAddress te retourne l'adresse virtuelle de la fonction au sein du processus appelant. Donc tous les appels vers la fonction que tu hook provenant du même processus irons vers ta nouvelle proc mais pas ceux d'autres processus. Donc ca reviens au même. :-)
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
7 août 2009 à 15:05
guillaume_00> Faux !

GetProcAddress recupere l'adresse de la fonction en memoire (identique pour tous les modules qui l'utilise) tandis que GetModProcAddress recupere l'adresse d'importation de la fonction dans un module (un seul import par module) et c'est la toute la difference.

On ne hook pas n'importe quoi n'importe comment :p

@+
guillaume_00 Messages postés 18 Date d'inscription dimanche 19 septembre 2004 Statut Membre Dernière intervention 19 mars 2009
7 août 2009 à 15:00
Pourquoi s'embêter avec GetModProcAddress alors que GetProcAddress fait la même chose (en plus ca évite de parser le PE et parcourir la table des imports). Sinon sympatique comme code. Du temps ou je programmais en VB6 c'est vrai que cette boîte de dialogue était irritante !!
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
6 août 2009 à 09:25
Très utile !
10/10
Renfield Messages postés 17287 Date d'inscription mercredi 2 janvier 2002 Statut Modérateur Dernière intervention 27 septembre 2021 74
6 août 2009 à 08:23
j'aprécie l'astuce... c'est bête comme chou et ça marche tu tonerre.
après, le code de GetModProcAddress est toujours aussi efficace ^^
google2 Messages postés 1 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 5 août 2009
5 août 2009 à 23:12
Excelent !
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
5 août 2009 à 18:02
Nickel, EB !
Fini la petite cloche et le panorama de souris pour retrouver la MsgBox.
Très pratique.
Rejoignez-nous