Port Delphi逐渐向C++发展

Tob*_*ner 5 c++ delphi qt

我有一个用Delphi编写的大型应用程序.我想从用户界面开始更新它.我想过使用新的Qt.在更新它的过程中,我想更改为C++作为编程语言.有没有办法逐步重写应用程序(从UI开始)更改为C++?

谢谢您的帮助.

Dan*_*ski 9

最佳的行动方案高度依赖于C++开发环境.

如果是C++ Builder,您有两种可能:

  • 使用运行时包而不是普通的DLL.在字符串编组和将类层次结构映射到平面DLL函数时,这将使您免于太多麻烦.

  • 使用混合代码.您可以在同一个项目中将Delphi/Pascal代码与C++代码混合使用.(虽然单个模块/单元中只有一种语言)

如果是任何其他C++编译器:

  • 按照你提出的方式使用DLL.您必须创建某种层/外观以将类的功能映射到平面DLL函数.

  • 如果你想使用普通的DLL方式,即使你使用的是C++ Builder,也可以尝试使用共享内存管理器,如ShareMem(自带Delphi)或FastMM(SourceForge)来允许传递strings而不是PChars.

  • 创建.objs而不是.dcus,以便两个编译器使用相同的输出格式.然后将它们直接链接到您的C++程序中.这与创建DLL基本相同,但它是静态的.您将在编译时而不是运行时发现某些类型的错误.


小智 6

走另一条路可能更容易 - 用C++重写业务逻辑并通过C接口从Delphi调用它.特别是因为Delphi的一个主要优势是使用GUI.