Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1489 connectés 

  FORUM HardWare.fr
  Programmation

  [C++] MFC + DLL + multilanguage

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

[C++] MFC + DLL + multilanguage

n°182512
godbout
Génial.
Posté le 25-07-2002 à 11:45:47  profilanswer
 

: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.
mood
Publicité
Posté le 25-07-2002 à 11:45:47  profilanswer
 

n°182620
godbout
Génial.
Posté le 25-07-2002 à 13:08:00  profilanswer
 

:wahoo:


---------------
Super.
n°182629
smaragdus
whores, drugs & J.S. Bach
Posté le 25-07-2002 à 13:19:44  profilanswer
 

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 ?

n°182647
godbout
Génial.
Posté le 25-07-2002 à 13:49:38  profilanswer
 

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.
n°182648
godbout
Génial.
Posté le 25-07-2002 à 13:50:12  profilanswer
 

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


---------------
Super.
n°182830
godbout
Génial.
Posté le 25-07-2002 à 16:27:58  profilanswer
 

:o


---------------
Super.
n°182841
El_gringo
Posté le 25-07-2002 à 16:37:49  profilanswer
 

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

n°182845
godbout
Génial.
Posté le 25-07-2002 à 16:41:04  profilanswer
 

: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.
n°182847
godbout
Génial.
Posté le 25-07-2002 à 16:41:26  profilanswer
 

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


---------------
Super.
n°182885
El_gringo
Posté le 25-07-2002 à 17:21:46  profilanswer
 

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 !

mood
Publicité
Posté le 25-07-2002 à 17:21:46  profilanswer
 

n°182886
El_gringo
Posté le 25-07-2002 à 17:22:14  profilanswer
 

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:

n°182888
godbout
Génial.
Posté le 25-07-2002 à 17:23:00  profilanswer
 

el_gringo a écrit a écrit :

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




:lol:


---------------
Super.
n°182894
godbout
Génial.
Posté le 25-07-2002 à 17:24:48  profilanswer
 

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.
n°182897
godbout
Génial.
Posté le 25-07-2002 à 17:26:07  profilanswer
 

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.
n°182912
El_gringo
Posté le 25-07-2002 à 17:36:53  profilanswer
 

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", ... ?

n°182941
godbout
Génial.
Posté le 25-07-2002 à 17:58:35  profilanswer
 

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.
n°182943
godbout
Génial.
Posté le 25-07-2002 à 18:01:36  profilanswer
 

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


---------------
Super.
n°182956
El_gringo
Posté le 25-07-2002 à 18:17:32  profilanswer
 

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 ?

n°182966
godbout
Génial.
Posté le 25-07-2002 à 18:35:14  profilanswer
 

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.
n°182968
Hercule
Posté le 25-07-2002 à 18:42:13  profilanswer
 

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  
n°183339
godbout
Génial.
Posté le 26-07-2002 à 09:07:51  profilanswer
 

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


---------------
Super.
n°183342
Hercule
Posté le 26-07-2002 à 09:14:56  profilanswer
 

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


---------------
Ils veulent la jouer hard, on va la jouer hard  
n°183346
godbout
Génial.
Posté le 26-07-2002 à 09:20:17  profilanswer
 

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.
n°183349
El_gringo
Posté le 26-07-2002 à 09:23:10  profilanswer
 

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.

n°183356
godbout
Génial.
Posté le 26-07-2002 à 09:29:57  profilanswer
 

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.
n°183398
El_gringo
Posté le 26-07-2002 à 10:20:57  profilanswer
 

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 )

n°183399
godbout
Génial.
Posté le 26-07-2002 à 10:24:31  profilanswer
 

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


---------------
Super.
n°183429
El_gringo
Posté le 26-07-2002 à 10:50:37  profilanswer
 

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

n°183434
godbout
Génial.
Posté le 26-07-2002 à 10:57:33  profilanswer
 

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.
n°183473
godbout
Génial.
Posté le 26-07-2002 à 11:42:14  profilanswer
 

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


---------------
Super.
n°183476
El_gringo
Posté le 26-07-2002 à 11:44:16  profilanswer
 

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

n°183478
El_gringo
Posté le 26-07-2002 à 11:45:19  profilanswer
 

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 !

n°183481
godbout
Génial.
Posté le 26-07-2002 à 11:49:55  profilanswer
 

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.
n°183486
godbout
Génial.
Posté le 26-07-2002 à 11:51:40  profilanswer
 

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.
n°183691
El_gringo
Posté le 26-07-2002 à 15:50:12  profilanswer
 

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]

n°183695
godbout
Génial.
Posté le 26-07-2002 à 15:54:59  profilanswer
 

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


---------------
Super.
n°183794
veryfree
Posté le 26-07-2002 à 17:27:45  profilanswer
 

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
n°184926
godbout
Génial.
Posté le 29-07-2002 à 01:47:42  profilanswer
 

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.
n°184930
youdontcar​e
Posté le 29-07-2002 à 02:32:06  profilanswer
 

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 ?

n°184953
El_gringo
Posté le 29-07-2002 à 08:43:34  profilanswer
 

youdontcare a écrit a écrit :

et pourquoi donc ?




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

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C++] MFC + DLL + multilanguage

 

Sujets relatifs
[MFC] Mettre une boite de dialogue en background[MFC] Fonction CALLBACK membre d'une classe...
[MFC] Récupérer les arguments de la ligne de commande (argc, argv,...)[MFC] CToolBar et CToolBarCtrl, comment ça marche ?
[MFC + DAO] Base de donnees avec DAO[VC++ MFC] Access - Question sur la gestion d'un champ OLE
[DLL + VC] comment on utilise une DLL qu'on a créé ?[DLL, C] Comment ça marche ce bordel à roulette ?
[VC++ avec les MFC (pour faire plaisir a deathsharp)] changer un icone[C++] Peut on utiliser les MFC dans un projet Win32 Application ?
Plus de sujets relatifs à : [C++] MFC + DLL + multilanguage


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR