[C++] MFC + DLL + multilanguage

MFC + DLL + multilanguage [C++] - Programmation

Marsh Posté le 25-07-2002 à 11:45:47    

:hello:
 
Ca fait une semaine que j'me suis mis au MFC, et je dois dire que c'est assez pratique. J'ai fait quelques .exe en dialog based.
La j'ai besoin de faire des DLLS multilangues. Donc j'ai ma DLL principales, et mes ressources dans d'autres DLLs.  
Jusqu'a maintenant je mettais mes DialogBox dans ces DLLs de language, et je les traduisais. Et dans ma DLL principale je recuperais le handle de la dll language, puis je balancais ca a une DlgProc pour traiter. Mais bon dans ce cas tout le systeme qui rend attrayant les MFC est perdu (ClassWizzard, etc).
 
Alors y a t il un autre moyen de proceder ?
 
De plus est ce que je peux utiliser le meme systeme "Dialog based application" que l'on trouve lorsque l'on fait un exe, dans une dll ?


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 11:45:47   

Reply

Marsh Posté le 25-07-2002 à 13:08:00    

:wahoo:


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 13:19:44    

J'ai pas compris ce que tu veux dire avec "DialogBox dans ces DLLs de language" : c'est quoi ? Une DLL d'extension MFC qui contient une sousclasse de CDialog ?

Reply

Marsh Posté le 25-07-2002 à 13:49:38    

Ben en fait puisque les boites de dialogues doivent etre en plusieurs langues je ne peux pas les mettre directement en resource de ma DLL principale, je dois donc les mettre dans mes DLLs de language, qui ne contiennent aucun code, juste des resources (enfin jusqu'a present)


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 13:50:12    

Pour l'instant c'est pas des DLLs d'extension MFC, juste des DLL Win32.


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 16:27:58    

:o


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 16:37:49    

Godbout a écrit a écrit :

:hello:
 
Ca fait une semaine que j'me suis mis au MFC, et je dois dire que c'est assez pratique. J'ai fait quelques .exe en dialog based.
La j'ai besoin de faire des DLLS multilangues. Donc j'ai ma DLL principales, et mes ressources dans d'autres DLLs.  
Jusqu'a maintenant je mettais mes DialogBox dans ces DLLs de language, et je les traduisais. Et dans ma DLL principale je recuperais le handle de la dll language, puis je balancais ca a une DlgProc pour traiter. Mais bon dans ce cas tout le systeme qui rend attrayant les MFC est perdu (ClassWizzard, etc).
 
Alors y a t il un autre moyen de proceder ?
 
De plus est ce que je peux utiliser le meme systeme "Dialog based application" que l'on trouve lorsque l'on fait un exe, dans une dll ?




 
...ça fait bientot 3 mois que tu t'es mis au MFC il y a une semaine ! :D

Reply

Marsh Posté le 25-07-2002 à 16:41:04    

:D
La je m'y suis vraiment mis, avec bouquin et tout et tout. Je suis meme alle jusqu'a creer un exe MFC alors hein :o :D


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 16:41:26    

Pkoi ca m'etonne pas qu'une reponse d'el_gringo va pas bcp m'avancer ?


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 17:21:46    

c pas logique ta manière de faier.
Tes dll de traduction, utilises les pas pour afficher les dialogue box, mais juste pour retrouver le libellés d'une seule dialog box, qui sera décrite dans ton exécutable. y a bien un executable qui utilise tes dll...
 
parec que, pour réponde à ta question :

De plus est ce que je peux utiliser le meme systeme "Dialog based application" que l'on trouve lorsque l'on fait un exe, dans une dll ?

, non, tu peux pas faire ça avec une dll !
Une dll c pas une application, c un module !

Reply

Marsh Posté le 25-07-2002 à 17:21:46   

Reply

Marsh Posté le 25-07-2002 à 17:22:14    

Godbout a écrit a écrit :

Pkoi ca m'etonne pas qu'une reponse d'el_gringo va pas bcp m'avancer ?




 
ha !? ok, j'arrête ici l'assistance ! :fuck:

Reply

Marsh Posté le 25-07-2002 à 17:23:00    

el_gringo a écrit a écrit :

 
 
ha !? ok, j'arrête ici l'assistance ! :fuck:  




:lol:


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 17:24:48    

el_gringo a écrit a écrit :

c pas logique ta manière de faier.
Tes dll de traduction, utilises les pas pour afficher les dialogue box, mais juste pour retrouver le libellés d'une seule dialog box, qui sera décrite dans ton exécutable. y a bien un executable qui utilise tes dll...
 
parec que, pour réponde à ta question :

De plus est ce que je peux utiliser le meme systeme "Dialog based application" que l'on trouve lorsque l'on fait un exe, dans une dll ?

, non, tu peux pas faire ça avec une dll !
Une dll c pas une application, c un module !




 
l'exe c'est un programme developpe par quelqu'un d'autre. Moi je fais juste des DLLs d'extension pour ce programme. Bon la plupart du temps, quand j'ai des Dlg a faire c'est des trucs assez con con, style pour rentrer deux trois parametres.
Sinon l'histoire des libelles de DlgBox je capte pas :??:


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 17:26:07    

En fait on a du mal se comprendre tous les deux :D
Les DLLs de language n'affichent pas, d'ailleurs j'ai aucun code. C'est juste des ressources (dont Dialog et String table).
A moins que j'ai mal compris ce que tu as voulu dire...


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 17:36:53    

Godbout a écrit a écrit :

En fait on a du mal se comprendre tous les deux :D
Les DLLs de language n'affichent pas, d'ailleurs j'ai aucun code. C'est juste des ressources (dont Dialog et String table).
A moins que j'ai mal compris ce que tu as voulu dire...




 
ouais, moi j'comprend pas trop non plus ton histoire de DLL de langage !!!
t'as une dll pas langage !? genre une dll "français", une dll "anglais", ... ?

Reply

Marsh Posté le 25-07-2002 à 17:58:35    

ouais c'est comme ca que ca marche le multilanguage.
Toutes les ressources + string table dans une dll par language (donc une francaise, une anglaise, etc...)
Dans ton code source tu n'utilises que des ID pour appeler les strings, dialog, etc..., aucune reference a la langue.


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 18:01:36    

ps: je suis alle faire un p'tit tour sur codeguru, codeproject, msdn, apparemment c'est la methode officielle.


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 18:17:32    

Godbout a écrit a écrit :

ouais c'est comme ca que ca marche le multilanguage.
Toutes les ressources + string table dans une dll par language (donc une francaise, une anglaise, etc...)
Dans ton code source tu n'utilises que des ID pour appeler les strings, dialog, etc..., aucune reference a la langue.




 
ouais, enfin, "c'est comme ça que ça marche !", t'y vas fort toi. c pas parce que t'as lu qu'on pouvait faire comme ça sur codeguru ou autre que c'est LA METHODE officielle.
Y a d'autres façon de faire très bien...
Enfin, bon...
Et du coup, c quoi ton problème ?

Reply

Marsh Posté le 25-07-2002 à 18:35:14    

ah ben j'ai lu ca partout :D
T'as une autre facon ? je suis preneur :jap:
Parce qu'en fait je pense que la mienne va etre assez bordelique avec les MFC (ca marche, j'ai reussi, mais c'est bordelique :D)


---------------
Super.
Reply

Marsh Posté le 25-07-2002 à 18:42:13    

C'est la méthode officiel, je confirme.
Tu lis ta DLL, et les variables à l'intèrieur?
 
Avec des trucs du genre :
LoadResource
LoadString


---------------
Ils veulent la jouer hard, on va la jouer hard  
Reply

Marsh Posté le 26-07-2002 à 09:07:51    

ouaip, j'ouvre et je charge avec LoadString et , DialogBox, etc...


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 09:14:56    

Je crois pas qu'il y est plus simple, à la manière MFC.


---------------
Ils veulent la jouer hard, on va la jouer hard  
Reply

Marsh Posté le 26-07-2002 à 09:20:17    

Donc je suis oblige de faire une Procedure pour ma boite de dialogue histoire de traiter les messages ?
Pas moyen d'utiliser le classview, histoire de faciliter la tache ?


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 09:23:10    

Godbout a écrit a écrit :

ah ben j'ai lu ca partout :D
T'as une autre facon ? je suis preneur :jap:
Parce qu'en fait je pense que la mienne va etre assez bordelique avec les MFC (ca marche, j'ai reussi, mais c'est bordelique :D)




 
Bah, tu peux aller lire des fichiers .ini spécifiques à chaque langue. En plus, ça permet de pouvoir personnaliser les messages.

Reply

Marsh Posté le 26-07-2002 à 09:29:57    

el_gringo a écrit a écrit :

 
 
Bah, tu peux aller lire des fichiers .ini spécifiques à chaque langue. En plus, ça permet de pouvoir personnaliser les messages.




euh ca c'est ce que je faisais au tout debut, c'est pas super super hein :D


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 10:20:57    

Godbout a écrit a écrit :

 
euh ca c'est ce que je faisais au tout debut, c'est pas super super hein :D




 
...tu reproches quoi a cette façon de faire ? (à part d'être plus simple à mettre en place, et plus flexible  :D )

Reply

Marsh Posté le 26-07-2002 à 10:24:31    

Ben ca fait pas vraiment professionel, mais plutot debutant amateur :D


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 10:50:37    

Godbout a écrit a écrit :

Ben ca fait pas vraiment professionel, mais plutot debutant amateur :D




 
ha... et la seule raison pour laquelle tu t'emmerde ds un truc que tu maitrises pas, c'est "faire pro" !? génial !:D

Reply

Marsh Posté le 26-07-2002 à 10:57:33    

nan c'est parce que les fichiers ini c'est completement degueu, c'est ce que je faisais avant, oui ca marche mais c'est archi a chier. N'importe quel logiciel multilangue a une dll par language c'est tout.


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 11:42:14    

En plus si fallait faire les Dlg dans chaque langue avec des .ini [:fifiz]


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 11:44:16    

Godbout a écrit a écrit :

nan c'est parce que les fichiers ini c'est completement degueu, c'est ce que je faisais avant, oui ca marche mais c'est archi a chier. N'importe quel logiciel multilangue a une dll par language c'est tout.




 
Ouais, mais, vouloi faire des trucs qui font pro, c'est bien, mais pour ça, 'faut savoir programmer comme un pro. Les débutants amateur qui galèrent avec les dll multilingues, ça fait des fichiers ini !  :D  :D

Reply

Marsh Posté le 26-07-2002 à 11:45:19    

Godbout a écrit a écrit :

En plus si fallait faire les Dlg dans chaque langue avec des .ini [:fifiz]




 
Mais, je comprend pas justement, pourquoi tu refais les dlg pour chaque langage !?
les dlg, c les mêmes, y a que les libellés qui changent !

Reply

Marsh Posté le 26-07-2002 à 11:49:55    

el_gringo a écrit a écrit :

 
 
Ouais, mais, vouloi faire des trucs qui font pro, c'est bien, mais pour ça, 'faut savoir programmer comme un pro. Les débutants amateur qui galèrent avec les dll multilingues, ça fait des fichiers ini !  :D  :D  




:D
Je devrais plus etre en age de galerer :D
Et pis c'est en forgeant qu'on devient forgeron nan ? ;)


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 11:51:40    

el_gringo a écrit a écrit :

 
 
Mais, je comprend pas justement, pourquoi tu refais les dlg pour chaque langage !?
les dlg, c les mêmes, y a que les libellés qui changent !




Vi vi y a que les libelles !
On a un prog au boulot, tu lui files ta dll de language, il scanne les strings tables + menus + Dlg, etc..., il t'en sort les libelles, tu traduits, et il te recompile tout ca en differents languages.
En fait Dlg + menus + string je les fais que dans une DLl (native), et je traduis avec le prog.


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 15:50:12    

Godbout a écrit a écrit :

 
:D
Je devrais plus etre en age de galerer :D
Et pis c'est en forgeant qu'on devient forgeron nan ? ;)




 
On se doit de galérer de temps en temps quel que soit sont age. Si on galère pas, c'est qu'on avance pas, et du coup, on s'emmerde ! [:thraell]

Reply

Marsh Posté le 26-07-2002 à 15:54:59    

:jap:
Je crois que j'ai pas mal a apprendre encore, mes codes sont assez bordeliques :D
La je tate les list STL.


---------------
Super.
Reply

Marsh Posté le 26-07-2002 à 17:27:45    

jdoit vous avouez qq chose: j ai toujours réver de faire du vrai c++ avec des boites de dialogs et des socket et tt
2 problemes:
 

  • j ai que dev c++ ,c facile avec ca?
  • je connais le c mais le c++ me parait si mystique


 
comment avez vous apris la programmation windows?


Message édité par veryfree le 26-07-2002 à 17:28:32
Reply

Marsh Posté le 29-07-2002 à 01:47:42    

dev c++ connais pas.
Si tu connais le c c'est bon.
 
Sinon ben bouquin + tut, mais bon je trouve que je code assez degueu.


---------------
Super.
Reply

Marsh Posté le 29-07-2002 à 02:32:06    

Godbout a écrit a écrit :

nan c'est parce que les fichiers ini c'est completement degueu, c'est ce que je faisais avant, oui ca marche mais c'est archi a chier. N'importe quel logiciel multilangue a une dll par language c'est tout.



et pourquoi donc ?

Reply

Marsh Posté le 29-07-2002 à 08:43:34    

youdontcare a écrit a écrit :

et pourquoi donc ?




 
c'est vrai ça, pourquoi donc ? hein !?

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed