VB6 ADDIN - FAITES DISPARAITRE LES MSGBOX D'ERREUR IDE
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
5 août 2009 à 18:02
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 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.
Philippe734
Messages postés308Date d'inscriptionlundi 16 décembre 2002StatutMembreDernière intervention15 juin 20151 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és89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 février 2010 28 déc. 2009 à 23:58
Oups !
J'avais oublié de noter...10/10 bien sur.
SnkVrt
Messages postés89Date d'inscriptionvendredi 16 mars 2007StatutMembreDernière intervention23 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és10Date d'inscriptionmercredi 13 février 2002StatutMembreDernière intervention18 janvier 2009 26 nov. 2009 à 12:34
Génial, merci pour cet outil qui rend l'IDE un peu moins irritant ;-)
Reacen
Messages postés282Date d'inscriptionmardi 22 août 2006StatutMembreDernière intervention21 décembre 2010 10 août 2009 à 17:38
lol, pas grave ... Merci ;P
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 10 août 2009 à 17:36
faut la créer, j'ai la flemme de faire un panneau de config :p
Reacen
Messages postés282Date d'inscriptionmardi 22 août 2006StatutMembreDernière intervention21 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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"
Heu..., mais si on veut par ordre alphabétique ?
__
Kenji
Reacen
Messages postés282Date d'inscriptionmardi 22 août 2006StatutMembreDernière intervention21 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 9 août 2009 à 20:12
reacen> J'ai mis a jour.
Reacen
Messages postés282Date d'inscriptionmardi 22 août 2006StatutMembreDernière intervention21 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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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.
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és14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 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és208Date d'inscriptionmercredi 10 avril 2002StatutMembreDernière intervention11 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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és18Date d'inscriptiondimanche 19 septembre 2004StatutMembreDernière intervention19 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és4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 20199 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és18Date d'inscriptiondimanche 19 septembre 2004StatutMembreDernière intervention19 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és3982Date d'inscriptionjeudi 14 juillet 2005StatutMembreDernière intervention30 juin 201316 6 août 2009 à 09:25
Très utile !
10/10
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 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és1Date d'inscriptionmercredi 14 mai 2008StatutMembreDernière intervention 5 août 2009 5 août 2009 à 23:12
Excelent !
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 août 2009 à 18:02
Nickel, EB !
Fini la petite cloche et le panorama de souris pour retrouver la MsgBox.
Très pratique.
30 avril 2010 à 23:07
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
29 déc. 2009 à 13:35
Mais avoue que le formatage automatique comme dans VB.Net ça serait chouette :)
29 déc. 2009 à 12:15
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).
29 déc. 2009 à 11:31
28 déc. 2009 à 23:58
J'avais oublié de noter...10/10 bien sur.
28 déc. 2009 à 23:53
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 ;)
26 nov. 2009 à 12:34
10 août 2009 à 17:38
10 août 2009 à 17:36
10 août 2009 à 17:27
"VB6Alert" N'existe pas, faut il la créer ?
10 août 2009 à 09:16
"HKEY_CURRENT_USER\Software\VB and VBA Program Settings\VB6Alert\Settings\Tab = 0"
10 août 2009 à 01:09
__
Kenji
9 août 2009 à 23:19
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 :)
9 août 2009 à 20:12
9 août 2009 à 17:58
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 ?
8 août 2009 à 15:16
Ca ne me serait jamais venu à l'idée de le désactiver.
On en apprend tous les jours !
Merci
8 août 2009 à 12:01
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.
@+
8 août 2009 à 10:45
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
8 août 2009 à 00:43
8 août 2009 à 00:24
7 août 2009 à 15:35
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
@+
7 août 2009 à 15:23
7 août 2009 à 15:05
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
@+
7 août 2009 à 15:00
6 août 2009 à 09:25
10/10
6 août 2009 à 08:23
après, le code de GetModProcAddress est toujours aussi efficace ^^
5 août 2009 à 23:12
5 août 2009 à 18:02
Fini la petite cloche et le panorama de souris pour retrouver la MsgBox.
Très pratique.