2010-11-10 33 views
3

J'ai hérité d'un ancien projet C++ (MFC) et devra ajouter de nouvelles fonctionnalités. La nouvelle fonctionnalité ne sera généralement pas en conflit avec le code C++ existant, comme les boîtes de dialogue supplémentaires
Ayant une expérience limitée avec C++ MFC, je préférerais faire les fonctionnalités supplémentaires dans Delphi, créer une DLL et utiliser la DLL dans le Projet C++Delphi DLL pour améliorer le projet C++

Je suppose que cela est généralement possible, similaire à l'utilisation de DLL C++ dans Delphi?
Y at-il des limites à ce qui peut être fait de cette façon?

+0

De quel type de fonctionnalité parlons-nous? GUI basé? –

+0

oui, basé sur l'interface graphique. Par exemple, une boîte de dialogue qui affiche un graphique à partir des données – Holgerwa

Répondre

0

Le seul moyen fiable de lier des composants binaires de différentes sources sous Windows est COM. Donc, utilisez COM/ActiveX et vous serez bien à l'épreuve des balles, même si cela va être une DLL interface graphique.

+1

Pas moyen. Vous pouvez lier à l'aide d'un éditeur de liens statique ou dynamique si les conventions d'appel et les dispositions binaires sont compatibles. Dire que COM est une preuve pare-balles, c'est qu'il y a beaucoup plus de pièces mobiles liées à COM que de fonction de liaison et que la probabilité d'erreur est donc plus élevée. –

+0

Ai-je dit que quelqu'un ne pouvait pas lier quelque chose? Vous pouvez même lier un BPL à une application MFC. Mais ça ne marchera pas. COM au niveau de base EST juste une convention sur la façon dont différents composants binaires doivent interagir pour être compatibles. Et l'éventail des problèmes à résoudre va bien au-delà de la simple convention d'appel. Vous pouvez essayer d'inventer un vélo en écrivant vos propres conventions de coopération ou vous pouvez utiliser ceux qui ont été écrits et testés pendant des décennies. Je choisis la seconde. Vous pouvez perdre du temps et choisir le premier. C'est à vous de décider, mais ne dites pas que mon choix est de la foutaise. – noxmetus

2

Fondamentalement, il n'y a aucun problème. Mais si vous utilisez des dialogues, votre application utilisera deux frameworks, MFC et la VCL, et ils ne joueront pas très bien ensemble.