Comment ajouter du code dans une application SDI

Dans cette page, je vous donne des indications pour pouvoir utiliser des fonctions, quand vous disposez de leurs codes .c ou .cpp, dans une application WINDOWS, pour laquelle vous disposez également de son code.

Je commencerai par ajouter des instructions, qui seront exécutées quand on active un item du projet apxsdi non modifié.

Je poursuiverai en indiquant ce qu'il faut faire, pour ajouter la réponse à un événement, qui correspond à un nouvel item, pour lequel il faut déclarer et implémenter la fonction, qui réalisera l'action associée à ce nouvel événement.

Introduction du code source d'une fonction, dans le projet apxsdi

D'une manière concrête, je vais introduire dans le fichier apxsdapp.cpp du projet apxsdi décrit dans la page précédent, le code qui permet d'exécuter une réponse à un item d'un menu.

Cette démarche est distincte de celle qui consiste à ajouter uniquement un item dans un menu, comme nous l'avons expliqué dans la page précédente.

Ici, nous ne modifierons que le fichier apxsdapp.cpp du projet apxsdi, sans toucher aux fichiers apxsdapp.rh et apxsdapp.rc

Imaginons, pour commencer, que l'on désire exécuter des instructions supplémentaires à celles prévues dans le projet apxsdi, quand l'utilisateur activera l'item About du menu Help

Il suffira de rechercher dans la source apxsdapp.cpp, la fonction void HelpAbout() Vous pouvez faire cette recherche dans wordpad, par exemple, en recherchant toutes les occurences de la chaîne "void HelpAbout" en utilisant l'item Rechercher du menu Edition dans wordpad.

Vous remarquerez qu'il existe 2 occurences de cette chaîne. la première sert pour déclarer cette fonction comme un membre de la classe APXSDI, et la seconde correspond à la définition de la fonction.

Vous ajouterez alors simplement vos instructions, dans le corps de la fonction HelpAbout, et elles seront exécutées au même titre que celles qui y figurent déja, quand l'utilisateur activera l'item Help About.

Utilisation de l'instruction #include

Remarquez que vous pouvez introduire une grande quantité de code .cpp dans apxsdapp.cpp, en utilisant l'instruction #include

C'est ainsi que j'ai inclus toute la bibliothèque sonore de studyvox , par des instructions #include "dynakit.h" #include "dynakit.cpp"... dans apxsdi.cpp Cette remarque est très importante, car elle vous permettra de disposer de toutes les bibliothèques que vous avez développées, sans avoir besoin de réécrire une seule ligne de code. Il y a un petit bémol à cela, si vous avez fait appel dans le code de vos bibliothèques, à des fonctions non portables ! Vous le remarquerez facilement, par des messages d'erreur, du type unresolved function... envoyés par l'associateur de lien.

Le .exe sera néanmoins construit, et le résultat de son activation sera imprévisible, si il fait appel à une fonction absente. Par contre, vous pouvez utiliser ce .exe sans risque, si vous n'utilisez aucune fonction inconnue.

Vous remarquerez aussi, qu'il n'est pas permis d'inclure vos sources et headers, n'importe où dans apxsdapp.cpp, car celui-ci contient des instructions pour le précompilateur, du type #if invoqued...

Déclaration de nouvelles réponses, pour de nouvelles fonctions, dans le projet apxsdi

Je termine cette page, en commentant les lignes de code, qu'il faut ajouter dans apxsdapp.cpp, pour ajouter de nouvelles fonctions, en réponse à de nouveaux items.

Pour vous faciliter la recherche des endroits où vous devez ajouter ces instructions, j'ai placé dans apxsdapp.cpp, des lignes de commentaires //ajouter ici :... Commencez par consulter le code de apxsdapp.cpp et recherchez les occurences de la chaîne "//ajouter"

Pour vous éviter toute dégradation du code qui est dans apxsdapp.cpp, je l'ai copié dans le fichier apxsdapp.txt, que vous pouvez consulter sans risque avec le lien suivant :

fichier apxsdapp.txt qui contient le contenu de apxsdapp.cpp

Vous pouvez mettre à profit les notions introduites dans ce cours, en consultant, puis en modifiant des projets pour WINDOWS

Je décris ces possibilités dans le lien suivant suivant : conclusions et perspectives

retour dans le sommaire du cours winweb du site studyvox webups