Actualisé le 09/11/2019
C'est un vieux projet... Je suis entré en contact avec VB6 quand j'étais à l'école primaire, et j'ai écrit de nombreux programmes les uns après les autres. Pendant les vacances d'été, lorsque je suis entré au collège, il me semblait avoir commencé ce projet avec l'idée de "Je vais apprendre une nouvelle langue, et enfin écrire un plug-in pour VB6 en utilisant VB comme adieu" ( on dirait que je suis au collège maintenant hhh). Cependant, ce n'est pas le « travail d'adieu » auquel je m'attendais, mais il m'a accompagné tout au long de mes trois années de collège. Depuis le « petit plug-in » initial, il s'est progressivement transformé en un énorme projet. c’est peut-être le plus grand projet que j’ai jamais écrit, c’est un projet, non ?
Microsoft Visual Basic 6.0, un IDE/langage plus ancien que moi Lorsque j'ai écrit ce programme, VB6 avait commencé à disparaître de la vue des gens, et maintenant, il n'existe probablement qu'en mémoire. Quand j'étais en dernière année de lycée, j'ai réalisé que je ne maintiendrais plus ce projet, j'ai donc pris le temps d'améliorer la documentation et j'ai publié le programme et le code source sur Baidu Tieba VB Bar. Comme il n’y a que quelques utilisateurs de VB, cela n’a pas attiré beaucoup d’attention, et j’en suis conscient.
Avec le recul, j'ai beaucoup appris de ce projet, même si j'explorais seul, au fil des années, même s'il ne s'agissait pas d'une étude systématique, j'ai quand même appris beaucoup de connaissances, telles que :
Maintenant, ce programme a arrêté la maintenance et je ne fournirai pas de support technique (je l'ai presque oublié hhh). Le programme a de nombreux bugs et le style de codage n'est pas bon. Considérant que presque personne n'utilise VB6 actuellement, ce complément en lui-même n'a aucune valeur pratique, mais si certains des points techniques qu'il contient peuvent vous fournir une référence, alors il peut être considéré comme ayant exercé sa valeur :)
Develop/iCode 开发者指南.docx
est un document que j'ai écrit lors de la publication du code source. Certains contenus sont organisés comme suit.
Le programme complémentaire VB6 (Addin) est un plug-in qui utilise l'interface fournie par VB pour améliorer l'IDE afin d'implémenter des fonctions spécifiques. Le corps principal du projet est une DLL ActiveX, qui appelle des composants spécifiques (Microsoft Add-In Designer, etc.). Ces composants fourniront des interfaces limitées pour contrôler le comportement de l'EDI. Le hook, la modification de la mémoire, etc. sont également utilisés dans ce projet. Pour un aperçu de l'interface et du processus, consultez le document docx.
Outils d'amélioration de la compilation. Remplacez automatiquement les icônes de fichiers EXE et prenez en charge les icônes haute définition ; insérez automatiquement les fichiers manifestes pour réaliser des fonctions telles que l'application automatique des autorisations UAC et des contrôles universels suivant les thèmes du système.
Ajoutez une barre d'onglets à l'espace de travail de l'EDI pour faciliter le basculement entre les fenêtres.
Collectez les méthodes, constantes et types de l'API WIN32 et GDI+ et insérez automatiquement des déclarations.
Outil d'organisation de l'indentation de code optimisé avec une analyse simple des erreurs de code.
Outil de statistiques de code détaillé et complet.
La correspondance des couleurs IDE peut être personnalisée en modifiant la mémoire, en brisant la correspondance des couleurs monotone de VB, et est livrée avec des fonctions d'importation et d'exportation de programme.
Améliorer l'efficacité.
Relayez les contrôles de la fenêtre de fichiers.
L'architecture d'iCode a été modifiée à plusieurs reprises. Désormais, chaque projet de composant est indépendant, et le lanceur (y compris Connect) est indépendant d'un autre projet. Le projet lanceur (appelé A) fait référence au projet de composant (appelé B). module de classe L'interface implémente la fonction. Le code principal est écrit en B. A fournit principalement des instances IDE et des informations Hook.
L’avantage est que cela facilite la transplantation. iCode est composé de nombreux composants s'ils sont tous écrits dans un seul projet, cela sera déroutant et peu pratique pour le débogage. Vous savez, en raison de l'utilisation de Hooks, etc., iCode doit souvent être compilé puis testé. La compilation d'autres composants inutiles fera perdre beaucoup de temps. En utilisant cette architecture, écrivez d'abord un projet de composant + un projet de lancement. Une fois le test terminé, le véritable lanceur d'iCode fera référence au projet de composant. Ajoutez simplement une petite quantité de code appelant. peut également le démarrer via le débogage d'origine.
De plus, certaines méthodes publiques (principalement dans iFunction) sont synchronisées en utilisant le même fichier de code.
Une photo aléatoire :
Develop/iCode.chm
Develop/iCode 开发者指南.docx
contient plus de détails pendant le développement pour référence.