программа для DOS

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

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

программа для DOS

Сообщение Velial » 20.07.2011 12:27:11

Доброго времени суток.
Нужно написать программу для выполнения в dos, а точнее freedos.
Создаю в Lazarus проект "Программа"
пишу код:
Код: Выделить всё
program project1;

{$mode objfpc}{$H+}

uses
  {$IFDEF UNIX}{$IFDEF UseCThreads}
  cthreads,
  {$ENDIF}{$ENDIF}
  Classes
  { you can add units after this };

{$R *.res}
var i          : integer;
    f, f1      : File;
    st, st1    : string;
    s          : byte;
begin
//..................................................
end.

В винде запускаю - работает, а при запуске из чистого dos получаю сообщение "This program cannot be run in DOS mode".
Как ее заставить работать?
P.S. поиском пользовался но не нашел решения
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Padre_Mortius » 20.07.2011 13:17:06

DOS - это 16-разрядная система,а fpc - 32-х разрядный компилятор.

P.S. про freedos не увидел
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: программа для DOS

Сообщение Velial » 20.07.2011 13:19:17

то есть решения нет?
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Padre_Mortius » 20.07.2011 13:24:48

смена компилятора
Padre_Mortius
энтузиаст
 
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Re: программа для DOS

Сообщение Vadim » 20.07.2011 13:35:44

Во FreeDOS будут работать 32-ух разрядные программы совместно с со специальным расширителем - DOS\4GW или DOS\32. Только программу надо компилировать именно досовским компилятором. Во FreePascal он называется GO32V2.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: программа для DOS

Сообщение Velial » 20.07.2011 13:39:58

Уже качаю.
Надо только поменять путь до компилятора? Или еще что-то нужно?
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Vadim » 20.07.2011 13:49:14

Надо его засунуть в тот же каталог, где стоит Ваш виндовый FPC и потом проверить, что в каьалогах bin и units находятся два подкаталога - i386-win32 и go32v2. В Lazarus'e потом останется только выбрать ОС для компиляции у установить кодировку исходников в cp866.
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: программа для DOS

Сообщение Velial » 20.07.2011 14:12:01

в каьалогах bin и units находятся два подкаталога - i386-win32 и go32v2

сделано
В Lazarus'e потом останется только выбрать ОС для компиляции

это как?

разобрался. но при компиляции получаю ошибку "project1.lpr(1,1) Fatal: Can't find unit system used by project1"
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Vadim » 20.07.2011 14:54:32

Velial
В меню "Сервис - Параметры - Путь к компилятору" посмотрите, к какому компилятору указан путь - виндовому или досовскому?
Vadim
долгожитель
 
Сообщения: 4112
Зарегистрирован: 05.10.2006 08:52:59
Откуда: Красноярск

Re: программа для DOS

Сообщение Velial » 20.07.2011 15:01:32

к виндовому...
попробовал досовский прописать - получаю ошибку "Failed to execute C:\lazarus\fpc\2.4.2\bin\go32v2\fpc.exe -B -MObjFPC -Scghi -O1 -Tgo32v2 -gl -vewnhi -l -FiD:\Lazarus\zaglushka\lib\i386-win32 -FuD:\Lazarus\zaglushka\ -Fu. -FUD:\Lazarus\zaglushka\lib\i386-win32\ -oproject1 project1.lpr : 87"
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Vadim » 20.07.2011 15:57:05

Velial
А что там у Вас за таинственная "zaglushka"? Вы уверены, что это правильный путь к модулям?
-FUD:\Lazarus\zaglushka\lib\i386-win32\

Путь не указывает на правильные модули, должно быть что-то вроде:
-FUD:\Lazarus\zaglushka\lib\go32v2\

Найдите у себя файл fpc.cfg и посмотрите там ключи:
-Fu
-Fi
Ещё один момент. Компилятор и поиск модулей происходит совершенно в разных местах:
C:\lazarus\fpc\2.4.2\bin\go32v2\fpc.exe

и
-FuD:\Lazarus\zaglushka\

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

Re: программа для DOS

Сообщение Velial » 20.07.2011 16:32:55

zaglushka это каталог в котором сохранен проект.
win компилятор - C:\lazarus\fpc\2.4.2\bin\i386-win32\fpc.exe
dos компилятор - C:\lazarus\fpc\2.4.2\bin\go32v2\fpc.exe

C:\lazarus\fpc\2.4.2\bin\i386-win32\fpc.cfg
-Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/
-Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/*
-Fuc:\lazarus\fpc\2.4.2/units/$FPCTARGET/rtl
-fi - нет в fpc.cfg


C:\lazarus\fpc\2.4.2\bin\go32v2\fpc.cfg
-Fuc:\lazarus\fpc\2.4.2/units/$FPCOS
-Fuc:\lazarus\fpc\2.4.2/units/$FPCOS/*
-Fuc:\lazarus\fpc\2.4.2/units/$FPCOS/rtl
#-Fic:\lazarus\fpc\2.4.2/source/rtl/inc;c:\lazarus\fpc\2.4.2/source/rtl/i386

сам я никаких путей не прописывал

что нужно исправить? cfg файлы создавались при установке автоматически

Всё работало, пока я не поставил go32v2. После установки в параметрах проекта выбрал go32v2, а в "Сервис - Параметры - Путь к компилятору" прописал компилятор - C:\lazarus\fpc\2.4.2\bin\go32v2\fpc.exe и Make - C:\lazarus\fpc\2.4.2\bin\go32v2\make.exe
Больше ничего не правил.
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение v-t-l » 20.07.2011 17:00:23

http://www.japheth.de/HX.html - позволяет запускать консольные или OpenGL приложения для Win32 в среде DOS.
v-t-l
энтузиаст
 
Сообщения: 735
Зарегистрирован: 13.05.2007 16:27:22
Откуда: Belarus

Re: программа для DOS

Сообщение Velial » 21.07.2011 08:21:50

v-t-l писал(а):http://www.japheth.de/HX.html - позволяет запускать консольные или OpenGL приложения для Win32 в среде DOS.

Это конечно интересно, но хотелось бы решить проблему с компиляцией.
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

Re: программа для DOS

Сообщение Velial » 22.07.2011 15:48:30

Подскажите как решить проблему с компиляцией. Или выложите свой fpc.cfg от go32v2
Velial
новенький
 
Сообщения: 36
Зарегистрирован: 02.07.2010 21:23:11

След.

Вернуться в Lazarus

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

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

Рейтинг@Mail.ru