我有一个用Delphi编写的大型应用程序.我想从用户界面开始更新它.我想过使用新的Qt.在更新它的过程中,我想更改为C++作为编程语言.有没有办法逐步重写应用程序(从UI开始)更改为C++?
谢谢您的帮助.
最佳的行动方案高度依赖于C++开发环境.
如果是C++ Builder,您有两种可能:
使用运行时包而不是普通的DLL.在字符串编组和将类层次结构映射到平面DLL函数时,这将使您免于太多麻烦.
使用混合代码.您可以在同一个项目中将Delphi/Pascal代码与C++代码混合使用.(虽然单个模块/单元中只有一种语言)
如果是任何其他C++编译器:
按照你提出的方式使用DLL.您必须创建某种层/外观以将类的功能映射到平面DLL函数.
如果你想使用普通的DLL方式,即使你使用的是C++ Builder,也可以尝试使用共享内存管理器,如ShareMem(自带Delphi)或FastMM(SourceForge)来允许传递strings而不是PChars.
创建.objs而不是.dcus,以便两个编译器使用相同的输出格式.然后将它们直接链接到您的C++程序中.这与创建DLL基本相同,但它是静态的.您将在编译时而不是运行时发现某些类型的错误.