Lazarus и Turbo pascal

Вопросы программирования и использования среды Lazarus.

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

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 14.07.2011 19:28:28

v-t-l писал(а):Скорее всего, придется пересматривать алгоритм.

Для этого все и задумано но старую прогу писал не я мне нужно добавить в неё функциональности и постепенно заменить код своим но кода с прямым доступом к памяти там очень много и так просто выкинуть неполучиться покрайней мере сразу.

Добавлено спустя 2 минуты 4 секунды:
Скорее всего, придется пересматривать алгоритм.

Для этого все и задумано но старую прогу писал не я мне нужно добавить в неё функциональности и постепенно заменить код своим но кода с прямым доступом к памяти там очень много и так просто выкинуть неполучиться покрайней мере сразу.
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 08:45:31

fizik_dm
Без подключения модуля GO32V2 никак больше к массиву MEM[] достучаться невозможно. Однако в этом есть неустранимое логическое противоречие. В Windows память для программы распределяется не так, как это было в чистом DOS.
Выход - ведите сразу две версии программы - одну старую и её надо компилировать версией для GO32V2 и одну новую, в которой Вы будете постепенно заменять код прямого доступа на более цивилизованные методы. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 09:05:37

ну примерно так я и думал просто у меня не получается компилить в лазарусе с GO32V2 толи fpc.cfg надо редактировать толи я папки GO32V2 нетуда скопировал непонимаю и материал по этому вопросу в инете на англ что мне совсем никак англ это х...
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 09:19:36

Чтобы проверить, будет работать массив MEM[] или не будет, объявите в своей программе такую переменную:
Код: Выделить всё
Var
  mem  : array[0..$7fffffff-1] of byte absolute $0:$0;

и посмотрите, что будет. Это как раз и есть массив прямого доступа к памяти. ;)
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 09:23:59

дело уже не в мем а в кроскомпиляции пишит Error: Util i386-go32v2-ld.exe not found, switching to external linking

Добавлено спустя 1 минуту 10 секунд:
а за совет про мем спасибо
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 09:25:47

fizik_dm писал(а):Util i386-go32v2-ld.exe not found, switching to external linking

Всё правильно. Для компиляции программ досовского режима нужен и досовский линкер, а он идёт только в комплекте с компилятором GO32V2.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 09:32:01

а как правильно указать путь к нему чтоб лазарус увидел
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 09:36:30

fizik_dm писал(а):а как правильно указать путь к нему чтоб лазарус увидел

А стоит ли? :D
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 09:42:04

ну для этого проекта использовать этот а для всех остальных как раньше или я чтото непонимаю. я новичок в програмировании ели что нето говорю поправте.
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 09:48:45

fizik_dm
Скачайте zip-архив c go32v2 дистрибутивом, потом найдите папку, где стоит Ваш текущий FPC, зайдите там в папку BIN и скопируйте туда из архива папку BIN\Go32v2 (вместе с папкой GO32V2), чтобы в Вашем BIN было две папки. Потом зайдите в папку UNITS Вашего текущего FPC и скопируйте туда из архива UNITS\GO32V2 (вместе с папкой GO32V2). Теперь и в UNITS у Вас должно быть две папки. Должно заработать. Если выберете в опциях Лазаруса "компилировать для Go32V2", то будет компилироваться для него, а если "компилировать для WIN32", то будет компилировать для WIN.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 10:00:06

я именно так и зделал но лазарус не видит папки которые я скопировал вот я и спрашиваю где ему надо ткнуть носом в пути папок. :)
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Re: Lazarus и Turbo pascal

Сообщение Vadim » 15.07.2011 10:12:33

Проверьте в файле fpc.cfg следующие строки:
-FDd:\progs\fpc\bin/$FPCTARGET
-Fud:\progs\fpc\units/$FPCTARGET/*
где $FPCTARGET как раз отвечает за выбор целевой системы. Первая часть этих путей должна быть такая же, как у Вас.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: Lazarus и Turbo pascal

Сообщение fizik_dm » 15.07.2011 10:54:36

да это оно! :D правда заработало только когда я ей указал что для этого проэкта брать другой .cfg пока ещё не все работает но главное нашол что проблема в fpc.cfg буду копать дальше.
Большое спасибо.
fizik_dm
новенький
 
Сообщения: 12
Зарегистрирован: 14.07.2011 12:20:15

Пред.

Вернуться в Lazarus

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

Сейчас этот форум просматривают: Google [Bot] и гости: 20

Рейтинг@Mail.ru