Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.09.2009, 05:23   #1
КСВ
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 13
По умолчанию 16-разрядный .obj файл и Delphi 7

Здрасте! Нужно присоединить драйвер внешнего устройства, написаный на Ассамблере и скомпилированый TASM в .obj - файл. Вроде по всем правилам забиваю, а что-то ругается? Мог бы бахнуть все в Ассамблере, благо исходник драйвера.asm у меня имеется, вот только беда, в Ассамблере я ни бум-бум.
Код:
...
implementation

{$R *.dfm}
{$L eppdrv.obj}

function 	PLATA_TEST():word;			external;
procedure TForm1.Button1Click(Sender: TObject);
begin
  PLATA_TEST;
end;

end.
а ошибку выдает такую:
Цитата:
[Error] EPP.pas(32): 16-Bit segment encountered in object file 'C:\СВК\Программы\...\eppdrv.obj'
[Fatal Error] Project1.dpr(5): Could not compile used unit '..\..\..\..\СВК\Программы\...\EPP. pas'
Может хто подскажет чего?
КСВ вне форума Ответить с цитированием
Старый 22.09.2009, 07:29   #2
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

Честно говоря, не очень врубился, зачем он тебе в программе. У тебя там что? Процы, функи или что-то иное?
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 22.09.2009, 07:48   #3
КСВ
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 13
По умолчанию

Угу. И то и то. К примеру: function PLATA_TEST():integer. У меня внешнее устройство АЦП, а в этом .obj-файле, методы управления устройством. проблема в том, что файл этот 16-разрядный, а Delphi 7, как известно, 32-х. Таки можно скрестить бульдога с носорогом, а .obj с Delphi 7?

Последний раз редактировалось КСВ; 22.09.2009 в 07:57.
КСВ вне форума Ответить с цитированием
Старый 22.09.2009, 07:52   #4
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

А ты попробуй подключить его как dll
Код:
Function PLATA_TEST():Integer; StdCall;
External 'eppdrv.obj';
В этом случае {$ eppdrv.obj} писать не надо.
И юзай функу. Может получится.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 22.09.2009, 07:55   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
проблема в том, что файл этот 16-разрядный
Настоящие проблемы у тебя начнутся тогда когда прогу твою откажется виндовс выполнять, ибо с устройствами можно работать только на уровне драйверов ну максимум служб, но никак не в Ring3, где обычные программы крутятся.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.09.2009, 09:05   #6
КСВ
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Настоящие проблемы у тебя начнутся тогда когда прогу твою откажется виндовс выполнять, ибо с устройствами можно работать только на уровне драйверов ну максимум служб, но никак не в Ring3, где обычные программы крутятся.
К этим дровам штатная прога на Паскале, вроде как катит на Винде 98-м, ХР-шка уже отказывается. Но прога эта демонстрационная, а я хочу нормальную зделать, да чтоб интерфейс был а-ля-Билл Гейтс.
КСВ вне форума Ответить с цитированием
Старый 22.09.2009, 09:06   #7
КСВ
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 13
По умолчанию

To Alex Cones: Пробовал, тот же результат, те же ошибки компилятор выдает.

Последний раз редактировалось КСВ; 22.09.2009 в 09:07. Причина: уточнил "кому"
КСВ вне форума Ответить с цитированием
Старый 22.09.2009, 09:09   #8
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Цитата:
Сообщение от КСВ Посмотреть сообщение
К этим дровам штатная прога на Паскале, вроде как катит на Винде 98-м, ХР-шка уже отказывается. Но прога эта демонстрационная, а я хочу нормальную зделать, да чтоб интерфейс был а-ля-Билл Гейтс.
А ты не путай кислое с пресным. 98 это по сути надстройка над ДОС, а ХР самостоятельная операционка.
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 22.09.2009, 09:54   #9
КСВ
Пользователь
 
Регистрация: 21.09.2009
Сообщений: 13
По умолчанию

Цитата:
Сообщение от Utkin Посмотреть сообщение
А ты не путай кислое с пресным. 98 это по сути надстройка над ДОС, а ХР самостоятельная операционка.
Таки я для 98-го и делаю. Может, если Делфи на 98 установить, может будет работать, а то я в ХР-шке пишу? Вы мне дали свежую мыслю, спасибо, пойду попробую.
КСВ вне форума Ответить с цитированием
Старый 22.09.2009, 11:07   #10
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Слепить вместе 16- и 32-разрядный код не выйдет.
пыщь
JTG вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Obj-C++. Что за зверь? GonZaleZ Общие вопросы C/C++ 5 10.09.2009 20:44
obj и lib ("")(Э_Є)("") Общие вопросы C/C++ 0 27.05.2009 05:11
32-разрядный реальный режим smileman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 21.05.2009 21:40
Ошибки в OBJ-файле regfre Общие вопросы C/C++ 4 24.03.2009 16:02
iphone и obj-c sleeper_Izh Qt и кроссплатформенное программирование С/С++ 2 05.12.2008 23:28