mbartmon
Я заканчиваю первый этап большой миграции с vb6 на .NET. На самом деле существует несколько крупных приложений, которые в конечном итоге будут портированы. Чтобы усложнить ситуацию, я конвертирую полученный проект в C# и WPF.
Моя методология состояла в том, чтобы использовать VS2008 VB6 для VB.Net converter для выполнения начального преобразования. Затем я передал вывод этой информации в C-Sharpener, открытый исходный код .ОБЪЕМ ИНТЕГРИРОВАННОЙ СРЕДЫ РАЗРАБОТКИ. Он имеет приличный VB.NET конвертер в C#. Не все оригинальные формы и классы VB6 дошли до конца, но большинство из них это сделали.
Вначале я решил полностью переписать пользовательский интерфейс (WPF имел для меня больше смысла, чем Winforms) и перенести как можно больше внутренней логики, что на самом деле было относительно легко (не просто, но легко). В зависимости от преобразования VB в C # некоторый синтаксис может быть выполнен неправильно, например, массивы могут или не могут быть изменены с () на [], но это тривиально (требует много времени, но тривиально). Кроме того, необходимо было перейти от использования DAO к использованию набора данных System.Data. Это стало проще, чем в противном случае, за счет использования класс-ориентированного представления каждой из таблиц базы данных со всей логикой доступа к данным. Я написал утилиту, которая генерировала эти классы из таблиц доступа, используемых в старом приложении (я был бы рад поделиться этим методом). Это значительно упростило изменения кода, необходимые для изменения операторов DAO.
Я шагал через модули VB6 один за другим, пока каждый не заработал. Пользовательский интерфейс переписать на
WPF был самым трудоемким, но и самым приятным аспектом. Передача внутренней логики была намного быстрее, так как это в основном повлекло за собой изменения синтаксиса и доступа к данным, в то время как основная логика осталась неизменной.
После нескольких месяцев и 500 тысяч строк кода первое приложение в наборе приложений моей системы запущено. Он будет предложен в качестве бета-версии моим клиентам в течение нескольких недель.
В общем, это была большая работа. Я думаю, однако, что мой подход позволил мне завершить процесс в относительно короткий промежуток времени. Кроме того, продукт этого процесса является надежным и работает как оригинальное приложение VB6.
Теперь перейдем к следующему приложению!