Moja firma ma poważny problem. Opracowaliśmy aplikację zawierającą ponad 1.000.000 linii kodu w Delphi.NET. Z tego powodu utknęliśmy w Delphi 2007 i .NET 2.0.Utknęły w Delphi.NET i Delphi 2007
Wraz z rozwojem technologii i zastosowań, musimy przeprowadzić migrację na inną platformę programistyczną. Do tej pory wypróbowaliśmy kilka narzędzi, które obiecały przekonwertować Delphi.NET na kod C# - każde z tych narzędzi miało kilka problemów, takich jak błędne indeksowanie ciągów (Delphi 1 C# 0) lub kiedy typy były używane do deklarowania granic tablic.
Po tym podejściu próbowaliśmy dekompilować zestaw Delphi.NET - kod, który z niego wraca, jest mało czytelny i ma setki funkcji pomocniczych, które wywołują określone zespoły Borlanda. Już wcześniej przyjrzałem się możliwości napisania transpilatora, ale niejednoznaczna składnia Delphi jest zbyt trudna do zastosowania w prostej gramatyce.
Teraz wielkie pytanie, czy są jakieś możliwości, które nie obejmują tłumaczenia całego kodu ręcznie? A może ścieżka migracji, która pozwala na częściową i etapową migrację?
_a ścieżkę migracji, która pozwala przenieść częściowo i stopniowo _ Dla mnie to __sounds__ zapraszającej; ale oczywiście nie znam absolutnie nic na temat twojego systemu z wyjątkiem liczby linii. Czy jest modułowy, jak jest podzielony na partycje itp.? – TaW
Aplikacja podzielona jest na około 200 jednostek i obsługuje stare usługi WCF w sieci Web w IIS. Problemem, który widzę tutaj, jest to, że chociaż .NET pozwala na współdziałanie między językami jak łączenie plików źródłowych VB i C# w jednym projekcie - nie wiem, w jaki sposób ten rodzaj współdziałania mógłby działać dla C# i Delphi.NET – user3768733
Budowanie interfejsu użytkownika i wywoływanie wszystkich twoich Delphi DLLS za pośrednictwem Interop może być początkiem. Następnie zacznij zastępować każde wywołanie funkcji DLL odpowiednią metodą. Twój wynik może być lepszym luźno powiązanym systemem. – celerno