TPU

Вопросы программирования на Free Pascal, использования компилятора и утилит.

Модератор: Модераторы

TPU

Сообщение p927 » 17.03.2019 08:35:31

Коллеги !
Помогите начинающему !
Давно написаны программы на ТР, использующие модули Turbo Professional (TPCrt, TPString...).
Понадобилось запустить программы. Они все откомпилированы и запуск их через DOSBox не был удачным. Пишет ошибку "Runtime 003 ...". Маленькие программы (без модулей Turbo Professional) запускает нормально.
Решил попробовать перекомпилировать через FPC (исходники есть), а он не находит модули Turbo Professional. Куда их поместить и как подсоединить ?

Спасибо за помощь !
p927
незнакомец
 
Сообщения: 1
Зарегистрирован: 17.03.2019 08:25:35

Re: TPU

Сообщение Лекс Айрин » 07.04.2019 17:47:44

p927, для начала, если есть тексты, то их надо преобразовать в проект (набор модулей) fpc. Потом добавить как зависимость проекта. Но, скорее всего, достаточно будет подключить только соответствующие модули самого fpc. Возможно, что они будут отличаться. Не забудь модуль DOS. Все же поддержка разных платформ не запускается с нуля.
Ну и попробуй понять где именно возникают ошибки.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: TPU

Сообщение Vadim » 07.04.2019 19:29:26

p927 писал(а):Пишет ошибку "Runtime 003 ...".

Если я правильно помню, то это означает "Путь не найден". Чего-то у Вас там нет.
p927 писал(а):Решил попробовать перекомпилировать через FPC (исходники есть), а он не находит модули Turbo Professional. Куда их поместить и как подсоединить ?

А модули TP в виде исходников? Если нет, то можно сразу забыть про них - FPC никогда их не найдёт, точно так же, как кошка не найдёт еду, если ей в качестве еды предлагают гречневую кашу из которой не пахнет мясом. :-D Ну сами подумайте, откомпилированные когда-то в дремучем году модули TP 16-тиразрядные, а FPC, как минимум, 32-ухразрядный. ;-)
Если же Ваши TP-модули в виде исходников, то просто положите их рядом со своей программой, а потом пару недель исправляйте ошибки, которые при компиляции будет выдавать Вам FPC. ;-)

Если не секрет, зачем Вам такая совершенно засушенная старина, как TurboProfessional для TurboPascal?
Vadim
долгожитель
 
Сообщения: 3801
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TPU

Сообщение Дож » 08.04.2019 05:06:59

Куда их поместить и как подсоединить ?

Поместить в ту же самую директорию, где лежит основная программа, либо подсоединить через -Fu, например -FuC:\tppro\
Аватара пользователя
Дож
энтузиаст
 
Сообщения: 812
Зарегистрирован: 12.10.2008 16:14:47

Re: TPU

Сообщение SSerge » 08.04.2019 09:13:51

p927, насколько я помню, turbo professional из исходников не удавалось полностью собрать до рабочего состояния уже 7-м TurboPascalем - там перенасыщение ассемблеровским кодом, завязанным на внутреннюю структуру объектов. TpString, впрочем от всего остального можно достаточно легко отделить.
SSerge
энтузиаст
 
Сообщения: 866
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: TPU

Сообщение Alex2013 » 08.04.2019 09:40:49

1 Насколько я помню FPC умеет кросс-компилировать для Дос .(впрочем про новые версии не уверен )
2 Возможно старая проблема CRT.TPU (и ее аналогом из Turbo Professional ) лечится заменой пропаченной версией или замедлением дос бокса .
3 Turbo Professional достаточно хитрая "жлезячная"(аппаратно зависимая ) библиотека с которой возможны разные сюрпризы
4 Вместо урезанного "турбо паскаля" стоит попробовать более полный Борланд паскаль .
5 Turbo Professional зависит от версии паскаля (по моему последний был к 4-й версии, а дальше был Object Professional ).
6 Можно найти образ дискеты "честного Дос" и загрузится с него в дос-боксе (Возможность есть правда придется повозится с подготовкой образа винчестера )
ЗЫ
Что за программа ? Сомневаюсь что это что-то секретное так что просто выложи вместе со своим Turbo Professional попробую собрать . :idea:

Добавлено спустя 12 минут 35 секунд:
SSerge писал(а):p927, насколько я помню, turbo professional из исходников не удавалось полностью собрать до рабочего состояния уже 7-м TurboPascalем - там перенасыщение ассемблеровским кодом, завязанным на внутреннюю структуру объектов. TpString, впрочем от всего остального можно достаточно легко отделить.

Извини за занудство, но в turbo professional не было объектов ты путаешь с object professional. :idea:
Но разумеется ты прав, надежнее всего запустить честную виртуалку (а не "хитрый" досбокс )с честным аутентичным ДОСом и подходящей версией паскаля . (Правда возможно придется искать "тормозилку" для CRT.TPU. Кстати от версии ДОС-а тоже кажется что-то как-то зависло )
Alex2013
долгожитель
 
Сообщения: 1561
Зарегистрирован: 03.04.2013 11:59:44

Re: TPU

Сообщение Vadim » 08.04.2019 10:24:15

Alex2013 писал(а):1 Насколько я помню FPC умеет кросс-компилировать для Дос .

Там проблема не в этом. Кросскомпиляция это совсем другая песня. Насколько я помню древнюю историю Паскаля ( :-D ) TurboProfessional принципиально не работал ни в Windows режиме, ни в досовском защищённом.

Там и правда, ассемблера хоть одним местом ешь. И весь этот ассемблер рассчитан на:
- 16 бит;
- адресацию база+смещение.
поэтому что там может понадобиться в сегодняшнем программировании - тайна покрытая мраком. Тем более, что нынешний FPC, по сравнению с TurboPascal, позволяет делать очень много не лазая в какие-то сторонние коды.
Vadim
долгожитель
 
Сообщения: 3801
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TPU

Сообщение SSerge » 08.04.2019 10:26:42

Alex2013
Turbo Professional imho кончился на версии компилятора 5.5 (или 5.0), ни шестерка, ни семерка его не могли в рабочем виде пересобрать - валились как на отличиях синтаксиса, так и на ассемблере. И да, для каждой версии компилятора он действительно свой.
под "объектами" мною подразумевалось внутреннее представление данных и структур в памяти.
Исходя из этого - если используются модули TP работы с huge arrays, или что еще хуже, с менюшками, то под fpc это загнать нереально. Проще переписать заново.
"условно независимые" части библиотеки, типа tpString - конечно в принципе можно выдрать из общего объема, но они опять таки основаны на модели строк "старых turbo pascalей".

Добавлено спустя 8 минут 35 секунд:
Кстати, для запуска программ, с прилинкованными модулями тех же самых массивов, мог требоваться dos ems memory extender, virtualbox его вроде бы не эмулирует.
SSerge
энтузиаст
 
Сообщения: 866
Зарегистрирован: 12.01.2012 05:34:14
Откуда: Барнаул

Re: TPU

Сообщение Alex2013 » 08.04.2019 16:08:54

Vadim писал(а):Там проблема не в этом. Кросскомпиляция это совсем другая песня. Насколько я помню древнюю историю Паскаля ( ) TurboProfessional принципиально не работал ни в Windows режиме, ни в досовском защищённом.

Это ерунда ... разумеется сами программы сейчас только в дос-боксе(или на виртуалке и то не на всякой и с настройками ) запускаются ...
Другое дело СОБРАТЬ рабочий exe-шникк из исходников .
Vadim писал(а):ам и правда, ассемблера хоть одним местом ешь. И весь этот ассемблер рассчитан на:
- 16 бит;
- адресацию база+смещение.
поэтому что там может понадобиться в сегодняшнем программировании - тайна покрытая мраком. Тем более, что нынешний FPC, по сравнению с TurboPascal, позволяет делать очень много не лазая в какие-то сторонние коды.


Асемблер в первых версиях Turbo Professional-а был натуральный TASM (через линковку с obj-файлами ) так что тупо перетащить исходники T-Pro на FPC это "как карты лягут" ... Кстати интересно Object Professional имел совместимость "снизу верх" с Turbo Professional? Если да то было бы привлекательно перевести программу на него ...
И вообще насколько я помню в реальных программах из Turbo Professional использовали едва-ли с десяток процедур и функций ( меню, фреймы, ФастВрайт... ) Так что переписать их при своевременном уровне программирования нет никаких особых проблем . (Я как-то вполне успешно портировал прикладной код с Turbo Vision в Дельфи что по моему сложнее чем написать "эмулятор Turbo Professional" для конкретной программы )

Добавлено спустя 15 секунд:
Vadim писал(а):Там проблема не в этом. Кросскомпиляция это совсем другая песня. Насколько я помню древнюю историю Паскаля ( ) TurboProfessional принципиально не работал ни в Windows режиме, ни в досовском защищённом.

Это ерунда ... разумеется сами программы сейчас только в дос-боксе(или на виртуалке и то не на всякой и с настройками ) запускаются ...
Другое дело СОБРАТЬ рабочий exe-шникк из исходников .
Vadim писал(а):ам и правда, ассемблера хоть одним местом ешь. И весь этот ассемблер рассчитан на:
- 16 бит;
- адресацию база+смещение.
поэтому что там может понадобиться в сегодняшнем программировании - тайна покрытая мраком. Тем более, что нынешний FPC, по сравнению с TurboPascal, позволяет делать очень много не лазая в какие-то сторонние коды.


Асемблер в первых версиях Turbo Professional-а был натуральный TASM (через линковку с obj-файлами ) так что тупо перетащить исходники T-Pro на FPC это "как карты лягут" ... Кстати интересно Object Professional имел совместимость "снизу верх" с Turbo Professional? Если да то было бы привлекательно перевести программу на него ...
И вообще насколько я помню в реальных программах из Turbo Professional использовали едва-ли с десяток процедур и функций ( меню, фреймы, ФастВрайт... ) Так что переписать их при своевременном уровне программирования нет никаких особых проблем . (Я как-то вполне успешно портировал прикладной код с Turbo Vision в Дельфи что по моему сложнее чем написать "эмулятор Turbo Professional" для конкретной программы )
Alex2013
долгожитель
 
Сообщения: 1561
Зарегистрирован: 03.04.2013 11:59:44

Re: TPU

Сообщение Лекс Айрин » 08.04.2019 19:13:04

Alex2013, а смысл? Наверняка ведь где-то что-то глюканет и придется переписывать все.
Аватара пользователя
Лекс Айрин
долгожитель
 
Сообщения: 5723
Зарегистрирован: 19.02.2013 16:54:51
Откуда: Волгоград

Re: TPU

Сообщение Alex2013 » 08.04.2019 20:40:19

Просто все зависит от программы (точнее от степени интеграции с Turbo Professional )
Зачем ? Бывает переписать труднее чем адаптировать. Например я встречал огромные (но при этом все еще полезные ) программы на фортране "которые проще убить чем переписать" (В наличии только листинг - рулон распечатки получается в полкило весом .) + математика + чисто фортрановские заморочки с вводом-выводом (хорошо хоть формат данных полностью текстовый и можно было нормально фронтенд накатать )
Последний раз редактировалось Alex2013 09.04.2019 11:25:47, всего редактировалось 1 раз.
Alex2013
долгожитель
 
Сообщения: 1561
Зарегистрирован: 03.04.2013 11:59:44

Re: TPU

Сообщение Vadim » 09.04.2019 05:40:51

Alex2013 писал(а):чисто фортрановские заморочки с вводом-выводом

А Вы с Фортраном то давно общались? ;-) Нет там никаких заморочек. Весь вывод можно парой движений пальцев в файл перенаправить. Собственно как и ввод... ;-)
Vadim
долгожитель
 
Сообщения: 3801
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TPU

Сообщение Alex2013 » 09.04.2019 11:42:14

Vadim писал(а):
Alex2013 писал(а):чисто фортрановские заморочки с вводом-выводом

А Вы с Фортраном то давно общались? ;-) Нет там никаких заморочек. Весь вывод можно парой движений пальцев в файл перенаправить. Собственно как и ввод... ;-)


Разумеется, (именно так и делали ) просто проблема в том что форматированный вывод и ввод (в реально старых программах) реализован настолько "оригинально" что разобраться в нем не будучи регулярным пользователем фортрана достаточно тяжело (один оператор FORMAT чего стоит :idea: )

Зы
Как я понимаю "троллейбус идет без кондуктора" .... :wink:
Alex2013
долгожитель
 
Сообщения: 1561
Зарегистрирован: 03.04.2013 11:59:44

Re: TPU

Сообщение Vadim » 09.04.2019 12:06:32

Alex2013 писал(а):(один оператор FORMAT чего стоит :idea: )

Сишники свой формат вывода как раз на основе Фортрана делали. И вроде никто не плачет по этому поводу... :-)

По-моему как раз FORMAT в Фортране мало изменился, потому что ничего такого особого в выводе\вводе не поменялось.
Я как-то раз долго искал, как в Фортране преобразовать число в строку. Уже весь на нервы извёлся - нету таких функций как в Паскале и хоть ты тресни. Потом оказалось, что это просто делается как раз через форматированный вывод... :-D

Alex2013 писал(а):Как я понимаю "троллейбус идет без кондуктора" ....

Кондуктор, увидев столь бурное обсуждение, решил своими нервами не рисковать... :-D
Vadim
долгожитель
 
Сообщения: 3801
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: TPU

Сообщение Alex2013 » 09.04.2019 16:09:46

Угу ... что-то типа этого
CHARACTER(LEN=30) :: Format999
Format999 = "(5X, I5.2, F10.3, A, ES14.7)"

...описанное в другой части программы (да еще и с 10-тю переназначениям - ага, типа память экономят )... Нет разобраться разумеется можно... но как "приятно" все это переписывать в паскаль... нормальными словами не предать ! :idea:
Alex2013
долгожитель
 
Сообщения: 1561
Зарегистрирован: 03.04.2013 11:59:44

След.

Вернуться в Free Pascal Compiler

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

Рейтинг@Mail.ru