Портирую наши проекты под Win64.
1. Собрал и запустил консольные тесты. Все прошли.
2. Собрал и запустил скриптованные консольные тесты. Все прошли.
3. Собрал и запустил скриптованные тесты под GUITestRunner. Все прошли.
4. Собрал и запустил небольшой набор GUI-тестов. Все прошли.
5. Сейчас работаю над собираемостью всех имеющихся в наличии GUI-тестов.
6. Собрал читатели/писатели формата EVD, а также его фильтры. Тесты пока не запускал.
7. Портировал под Win 64 наши
доработки DUnit.
8. Портировал кодогенерацию.
Попутно разобрался с соглашениями о вызовах под Win 64.
Научился делать заглушки (
stubs) для вызовов локальных функций из итераторов без использования анонимных функций.
Часть локальных функций заменил на анонимные. Есть мыли как сделать прозрачное преобразование одного в другое.
Порадовал тот факт, что компилятор не даёт приводить Integer и Cardinal к Pointer. Это позволяет отсечь много ошибок уже на этапе компиляции.
Описанный процесс занял порядка полутора-двух месяцев (тут зависит - считать ли дополнительную подготовительную работу).
Для портирования использовал Delphi XE4, т.к. у нас на неё куплены лицензии.
Из стороннего пока не собраны - miniLZO и ImageEn. Там линкуются объектные файлы 64-хбитную версию которых надо где-то найти.