Однажды, наверное как и у многих, у меня возникло дикое желание перевести проекты в нашей компании на юникодную версию Delphi. Перевести с Delphi 7. Конечно же можно было оставить всё как есть, “оно же работает!”. Тем более у нас повсеместно использовались Tnt-компоненты, и Юникод в приложении уже был. Но как человек, который любит свою работу, мне было просто дико осознавать, что мы до сих пор используем то, что есть под рукой и не обновляем свой инструментарий.
Сложность вопроса ещё состояла в том, что проект у нас довольно большой – несколько приложений с общей кодовой базой более 1000 pas-файлов (сейчас это 332 pas-модуля + 812 экранных форм и фрейм, т.е. пар pas + dfm файлов). Это не считая сторонних библиотек и компонентов. Но время потихоньку бежит, часть компонентов перестаёт поддерживать старые версии Delphi, а в новых версиях Delphi появляются всякие полезняшки… одни дженерики чего стоят. И инлайны мне по душе. И много прочих мелочей.
Я уже плохо помню весь процесс перевода. И он оказался совсем не простым. Более того, он был у меня в два захода – сначала это была Delphi 2009 – я добился успешной компиляции приложений и местами даже их нормальной работы. Но это было внепланово, по выходным и в своё свободное время. На том первый этап и заглох.
И вот в прошлом году наконец-то дали добро плановому переходу. Здесь я уже выбрал Delphi 2010, как проверенный и не слишком навороченный нововведениями инструмент… но, постараюсь, по порядку.