Автоматическое преобразование? NO. Если вы боитесь сделать все это самостоятельно, но в любом случае хотите это сделать, тогда да, я могу подтвердить для вас, что серебряных пуль нет, и вам придется делать все вручную.
На данный момент, если вы хотите сохранить некоторый код C ++, я бы порекомендовал вам сделать это:
Пользовательский интерфейс может быть встроен в C ++ с помощью C ++ Builder, а модель (логический код) может оставаться C ++, а также может быть встроен в C ++ Builder.
Если вы хотите переписать пользовательский интерфейс в delphi, не составит труда загрузить его на части C ++ (которые будут скомпилированы в библиотеку DLL или BPL) и вызывать их во время выполнения.
Обратите внимание, что загрузка и вызов кода C ++ из приложений Delphi не сложны, и что C ++ Builder и Delphi - это, по сути, две разновидности одного и того же, поскольку C ++ Builder на самом деле является просто способом написания вашего приложения на C ++ при использовании Delphi / pascal UI Framework (VCL) внизу.
Итак, рассмотрим либо C ++ Builder (часть RAD Studio), либо гибрид Delphi + C ++, так как полное переписывание нетривиального приложения займет очень много времени. Но да, вы можете переписать что-нибудь во что-нибудь еще, если у вас будет достаточно времени. Но вы действительно хотите?
Если ваша конечная цель на 100% чистая Delphi, но вы хотели сначала выполнить частичное преобразование, а затем завершить преобразование позже, вы можете сделать это поэтапно, если хотите. Ссылка в некоторых частях C ++, загрузка их из DLL или даже статическая ссылка на файлы .obj в ваше приложение delphi.
Кажется, вы настроены против C ++. Я давно ненавижу C ++. Если это твоя сделка, я понимаю.
Но давайте не будем торопиться; Может быть не очень сложно преобразовать старую кодовую базу библиотеки Borland C ++ OWL в современную кодовую базу Visual C ++ с использованием MFC / ATL, хотя, ИМХО, MFC / ATL - дерьмо. Учтите также, что если вам нужно портировать на QT / C ++ или wxWidgets / C ++ (вы можете пойти кроссплатформенно и получить версию, которая работает на Mac и Linux именно так!). Существует так много возможностей для пользовательского интерфейса, оставаясь на C ++, и это, безусловно, будет проще, чем переписать все вручную на совершенно другом языке (Pascal или Python, или C # или Java, действительно, все те же усилия) Столько, сколько нужно, чтобы написать все это в первую очередь!). Я люблю паскаль, и я предпочитаю его C ++ около 100 раз. Во всяком случае, я слишком склонен в пользу Delphi. Но полное переписывание практически никогда не бывает практичным, и АВТОКОНВЕРСИИ также несбыточная мечта. Современный C ++ на самом деле довольно приятный язык. Зачем переписывать код?