Задача чрезвычайно серьезная, а сроки сжатые.
Есть: отлаженная и весьма сложная прикладная программа, написанная в Borland Pascal 7.0 (среда Turbo Vision).
Надо выбрать: вариант современного 32bit компилятора Pascal, чтобы с наименьшими потерями и трудозатратами, в сжатые сроки переделать программу из Borland Pascal. Кроме переделки, эту программу придется немного видоизменить... Но не принципиально и незначительно.
Конечно, можно было бы переделки сделать в самом Borland Pascal 7.0. Но вот, что не нравится.
1. Невозможно создавать структуры данных больше 64Кб (Turbo Bascal 7.0). Приходится использовать оверлеи, что не есть хорошо. Сейчас это основной режим работы программы (Real).
2. Если использовать защищенный режим BP 7.0, то в нем не работает всроенный в оболочку дебуггер (F4, F7, F8 и т.п.). Невозможно использовать память больше 64Мб (даже в защищенном режиме).
3. В любом случае невозможно использовать всю мощь современных процессоров. Все они работают как Pentium-III 800MHz. Экспериментальный факт, полученный при решении комбинаторной Задачи о назначениях большой размерности.
4. Замучила знаменитая ошибка переполнения буфера при работе программ BP 7.0 на современных процессорах (PIII и выше). Полученные исполнимые файлы приходится, как известно, патчить...
Короче, хочется избежать всех перечисленных проблем.
Вот кандидаты на выбор 32bit компилятора.
1. FreePascal v.1.10.
Преимуществ у него много, начиная от открытых исходников (для нас это важно, очень важно) и заканчивая наличием процедур взаимодействия с MySQL сервером. Не исключаю, что на FreePascal можно писать эфферктивные CGI-скрипты для web-сайтов (в будущем планируется оформить программу в виде web-сайта).
Огромный плюс FreePascal - кроссплатформенность (для нас тоже очень важно).
Минусы у FreePascal ИМХО тоже, к сожалению, есть.
Отсутствует (или находится в зачаточном состоянии) TurboVision. Кое-что есть (TCollection, например), но многого нет (TDialog и т.п.). Короче, все модули нашей программы, жестко ориентированные на объекты TurboVision, дружно отказываются компилироваться.
Может где-нибудь "на стороне" все-таки есть среда TurboVision for FreePascal, по каким-либо соображениям не включенная в дистрибутив?
Если ДА, то где ее взять и как интегрировать в установленную систему?
2. Virtual Pascal v2.1.279.
Этот компилятор, безусловно, гораздо более подходит намеченной нами цели (быстрота переделки программы).
Многие модули почти без всякой переделки компилируются в среде VP.
Однако есть многие шероховатости, препятстующие переделке программы. Это:
А). Редактор IDE какой-то странный. Навскидку не работает (плохо работает) поиск. Скажем, ищешь набор символов "DP." и ничего не находится, хотя такой набор символов в тексте программы есть...
С этим пунктом у FreePascal проблем нет.
Б). Все-таки отсустсвуют кое-какие объекты TurboVision от Borland. Например TCommandSet.
В). Что-то странное происходит с отладчиком. При нажатии на F4 происходит полный прогон программы, а нажатие на F7/F8 вываливает регистры процессора. Это, наверное, полезно, но я привык все-таки программировать на более высоком уровне, нежели регистры процессора.
И тут у FreePascal проблем нет.
Короче, и здесь я забуксовал.
Хотелось бы почитать про настройки IDE от VP и придать оболочке максимальную схожесть по поведению с оболочкой BP в Real режиме.
Также хотелось бы почитать про отличие библиотек TurboVision от BP и от VP.
3. Ну и, наконец, может бомонд еще что-нибудь подскажет из существующего набора 32bit компиляторов Pascal?
P.S. Очень бы не хотелось после вояжа по современным 32bit Pascal компиляторам опять-таки вернуться к TurboPascal 7.0 с его оверлеями, ошибками и ограничениями...