Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Использование DLL в Delphi XE [D7, XP]


JohnKorsh ©   (2014-03-03 17:52:00) 

Добрый день!
Пытаюсь использовать WinIO при разработке приложения под Delphi XE. Не проходит инициализация. Вот часть  исходного кода прграммы:

procedureTMain_Form.FormActivate(Sender: TObject);
{ Set of the begining values. }
var
idWinIO                       : boolean;

begin
idWinIO := InitializeWinIo;           //Initialization of the WinIO.
if (not idWinIO) then          // ---------
begin
ShowMessage ('Can not install of the WinIO Driver.');
    Close;
end;

//   F_Info.ShowModal;

SetPortVal (LPT_Addr, $0, 1);
SetPortVal (LPT_Addr + 2, $0, 1);
SPI_Reset;
end;

Компилируется без ошибок при отладке InitializeWinIo даёт False. Модуль WinIO включён в uses, WINIO.DLL доступен для скомпилированной программы. Тот же самый код работает в Delphi7 без вопросов. Не поможете ли, в чём я ошибаюсь?


fff   (2014-04-22 12:13:00) [1]

ffff


JohnKorsh   (2014-03-05 21:40:00) [2]

Добрый день! Отвечаю сам себе, может, кому пригодиться. Для работы WinIO требуется три файла: WinIO.pas - заголовки процедур, WinIO.dll - сами процедуры и WinIO.sys - как я думаю - часть процедур, имеющих привилегии ядра. Если не прав - поправьте. Просто в Delphi XE не было доступа к этому файлу, так, что версия Delphi не причём, как обычно, причина - незнание.


JohnKorsh   (2014-03-04 18:22:00) [3]

У меня WinIO только с объявлением, но, поищу с исходниками - вещь очень старая, где-то в Интернете обязательно есть. Чтобы не терять время пишу под Delphi 7, по ходу дела возник ещё вопрос:
Мне необходимо ввести данные, хотелось бы по шине данных принтера D0..D7.
(Адрес 378Н для Lpt1)
Для переключения порта данных на ввод надо записать в регистр управления
(Адрес 37AH для Lpt1) в пятый разряд 1. (20H).
У меня этот разряд не пишется - все значащий разряды этого регистра
пишутся и читаются как записал, а 5 всегда в 0, то есть всегда на вывод даных.
Видимо, есть какой-то нюанс для выставления этого разряда. Не подскажет ли кто?


clickmaker   (2014-03-04 09:06:00) [4]

> WinIO.pas

там только объявления функций из длл или есть свой код какой-то?


JohnKorsh   (2014-03-04 08:24:00) [5]

WinIO.pas. XE очень объёмный, конечно, куча отличий. Пока не знаю.


MBo   (2014-03-03 23:33:00) [6]

А чем отличаются семерка и XE?
Может, учёт одного из кардинальных различий поможет?


clickmaker   (2014-03-03 20:22:00) [7]

> Модуль WinIO включён в uses

модуль - это .pas файл?


Наверх

Титульная страница Поиск, карта сайта Написать письмо