ATL, je comprends rien - C++ - Programmation
Marsh Posté le 25-11-2002 à 16:25:50
Salut,
Rassure toi, si tu connais bien le C++, et les MFC mais rien aux COM et ATL, t'en as pour quelques mois avant de te sentir à l'aise avec. Un gas de Microsoft (celui qui a ecrit Inside OLE2, je me rappelle plus de son nom), parle de "6 mois de flou intellectuel avec COM" )... donc, faut un peu de courage.
Sinon voilà quelques conseils:
* Pas la peine d'essayer de faire de l'ATL, si tu n'as pas les bases minimum de COM: Comprendre le pourquoi du comment de COM, la manière de l'implémenter en C++ et MFC etc...
Pour cela, www.codeguru.com , www.thecodeproject.com et voir le très bon COM tutorial gratuit à http://www.develop.com/devresource [...] e=tut&id=4
* Ensuite, voir les tutorial ATL sur les sites que j'ai cités plus haut. Une fois que tu as bien compris COM, tu vas voir que ATL permet au contraire de rendre l'ecriture de composants COM vraiment simple. En fait, c'est un peu comme les MFCs: Si tu connais rien à Win32, au système de messages de Windows, tu n'arrives pas à faire grand chose avec les MFCs.
* Du courage: Ne pas avoir peur de passer 3heures pour faire une DLL pourrie, avec une minable fonction qui prends 3 lignes de code en elle même (genre les bonnes galères au début pour utiliser les BSTR & co )
* Si tu comptes faire des composants ATL digne de ce nom, alors va jusqu'au bout et fait des composants respectants les principes dictés par Microsoft: Genre ne pas s'amuser à passer un char* à une fonction COM ou autre connerie de ce genre qui t'empechera de faire du marshalling ( passage des paramètres de la fonction entre différent processus... )
-> Entraine toi avant avec des exemple tout con, et une fois bien à l'aise, implémente ton projet. Ne pas essayer de démarrer de suite à l'aveugle, c'est l'impasse assurée.
* Pour utiliser ton object via Visual Basic, il faut que ton object supporte donc l'automation: voir l'interface IDispatch...
* Pour les liens français, c'est difficile... si l'Anglais te pose problème, t'as tache va être encore plus difficile... voir impossible... désolé... Anglais indispensable!
Bon courage!
Marsh Posté le 25-11-2002 à 11:44:06
Et bien voila, j'ai fais un objet
graphique assez sympa sous Visual C et
j'aimerai en faire un objet ATL pour
pouvoir le distribuer ou m'en resservir par exemple sous VB.
Le probleme c ke je ne connais rien à ATL
et j'aimerai bien k'on me renseigne la
dessus. alors si vous aviez kelke liens (francais
si possible) ce serait kool.
Merci, et a+.