Meine Firma hat ein großes Problem. Wir haben in Delphi.NET eine Anwendung entwickelt, die aus mehr als 1.000.000 Codezeilen besteht. Aus diesem Grund sind wir mit Delphi 2007 und .NET 2.0 festgefahren.Stuck mit Delphi.NET und Delphi 2007
Da Technologie und Anwendungsfälle weiter voranschreiten, müssen wir auf eine andere Entwicklungsplattform migrieren. Bis jetzt haben wir verschiedene Tools ausprobiert, die Delphi.NET in C# -Code konvertieren - jedes dieser Tools hatte mehrere Probleme, wie die falsche Indizierung von Strings (Delphi 1 C# 0) oder wenn Typen zum Deklarieren von Array-Grenzen verwendet wurden.
Nach diesem Ansatz haben wir versucht, die Delphi.NET-Assembly zu dekompilieren - der Code, der daraus zurückkommt, ist kaum lesbar und hat Hunderte von Hilfsfunktionen, die Borland-spezifische Assemblys aufrufen. Ich habe mir schon die Möglichkeit angeschaut, selbst einen Transpiler zu schreiben, aber die mehrdeutige Syntax von Delphi ist zu schwer in einer geradlinigen Grammatik zu implementieren.
So, jetzt die große Frage, gibt es noch eine Möglichkeit, die nicht beinhaltet, den gesamten Code von Hand zu übersetzen? Oder vielleicht ein Migrationspfad, der es erlaubt, teilweise und schrittweise zu migrieren?
_a Migrationspfad, die teilweise und schrittweise migrieren können _ Für mich __sounds__ einladend; aber natürlich weiß ich absolut nichts über dein System außer der Zeilenanzahl. Ist es modular, wie ist es aufgeteilt usw.? – TaW
Die Anwendung ist in ca. 200 Einheiten aufgeteilt und dient WCF-Webservices im alten Stil auf einem IIS. Das Problem, das ich hier sehe, ist, dass, obwohl .NET erlaubt Interop wie VB und C# Quelldateien in einem Projekt kombinieren - ich weiß nicht, wie diese Art von Interop für C# und Delphi.NET – user3768733
Aufbau der Benutzeroberfläche und Aufruf all Ihrer Delphi funktionieren könnte DLLS via Interop kann ein Anfang sein. Beginnen Sie dann, jeden DLL-Funktionsaufruf durch eine geeignete Methode zu ersetzen. Ihr Ergebnis kann besser lose gekoppelt sein. – celerno