Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/22: Рейтинг темы: голосов - 22, средняя оценка - 5.00
mml
0 / 0 / 0
Регистрация: 13.11.2008
Сообщений: 18
1

Вопрос к тем, кто читал книгу Агурова "Практика программирования USB".

17.11.2008, 08:21. Просмотров 4279. Ответов 4
Метки нет (Все метки)

К сожалению не удается скомпилировать примеры в Delphi, которые прилагались к книге на диске.
Готовые ЕХЕшники с диска работают нормально.

Привожу пошагово мои действия.

1.Копирую с диска файлы из каталога \AT89-HID-int1\HIDtest в рабочий каталог. Запускаю Delphi. Открываю проект Projeсt1.
Нажимаю RUN. Выдается сообщение:
[Fatal Error] Unit1.pas(27): File not found: 'SetupApi.dcu'.

2.Копирую с диска файл SetupApi.pas из каталога \Enumerator.Delphi в рабочий каталог.
Нажимаю RUN. Выдается сообщение:
[Fatal Error] SetupApi.pas(6024): File not found: 'ModuleLoader.dcu'.

3.Копирую с диска файл ModuleLoader.pas из каталога \Enumerator.Delphi в рабочий каталог.
Нажимаю RUN. Выдается сообщение:
[Fatal Error] Unit1.pas(27): File not found: 'Hid.dcu'.

4.В рабочем каталоге переименовываю #hid.pas в hid.pas.
Нажимаю RUN. Все компилируется, запускается приложение.

5.Как только нажимаю на кнопку приложения "Читать",
выполнение приложения прекращается, выдается сообщение:

Project Project1.exe raised exeption class EAccessViolation at address 00000000.Read of address 00000000'.
Process stopped. Use Step or Run to continue.

В отладчике вижу, что проблема возникает при вызове процедуры HidD_GetHidGuid(HidGuid);.

Напоминаю, что если запускать готовый ЕХЕшник с диска, то он нормально работает. Нормально читает дескриптор с моего USB девайса.
Как решить проблему? Смысл решетки перед hid.pas?

Пробовал на Delphi6 и на Delphi7, под операциокой Windows2000 и Windows XP.
Версия hid.dll под XP 5.1.2600.0.

Заранее спасибо.
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.11.2008, 08:21
Ответы с готовыми решениями:

Из слов "Работа", "крест", "тон" составить фразу "Кто не работает, тот не ест" и определить ее длину
Из слова "Работа","крест","тон" составить фразу:"Кто не работает, тот не ест" и определить ее длину.

В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак",
В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву...

Кто читал книгу Программирование.Принципы и практика использования c++
Народ всем привет кто читал книгу программирование принципы и практика использования c++ можете...

Про сглаживание. Читать тем, кто выбирает видеокарту и тем у кого "все идет на максимуме"
Казалось бы текст несколько не в тему, но: 1)многие не умеют выкручивать настройки игры на...

Кто-нибудь читал М. Лермонтова "Герой нашего времени"? У кого какие соображения?
Кто-нибудь читал М. Лермонтова "Герой нашего времени"? У кого какие соображения?

4
FeLDM@RSh@L
Брюс Всемогущий
35 / 35 / 1
Регистрация: 02.09.2008
Сообщений: 256
17.11.2008, 09:29 2
Ну как вариант, у тебя нету одного файла, или он закосяченный(hid). И еще, то что ехе работает нармально, это говарит лиш о том что на машине на котороой это компелировалося все файлы были, приче были в рабочем состоянии.
0
mml
0 / 0 / 0
Регистрация: 13.11.2008
Сообщений: 18
17.11.2008, 09:42  [ТС] 3
Какого файла у меня нет?
А у тебя все компилировалось?
0
FeLDM@RSh@L
Брюс Всемогущий
35 / 35 / 1
Регистрация: 02.09.2008
Сообщений: 256
17.11.2008, 12:34 4
Я не знаю, именно такой книге я не имел возможности держать, но у меня когдато давно(очень, очень давно) была электронная книга "Азы сложной алгоритмизации(или как то так она называлася)" и там тоже у меня не че у самого не кампелировалося, на тот момент я сослался что делфи разные, и из за счет этого неканает, но потом я понял что это из за того что разработчики диска (скорее всего далекие от программирования) в интересах сыкономить места на диске удалили, на их взгляд "ненужные файлы", и из за этого у мя не чего не робило
0
smoker77
0 / 0 / 0
Регистрация: 28.02.2010
Сообщений: 1
03.03.2010, 20:31 5
Столкнулся с этой же проблемой, дело оказалось вот в чем:
Модули hid.pas и setupapi.pas являются интерфейсными для динамически подгружаемых dll.
Для корректной работы нужно подгрузить эти dll функциями:
LoadHid;// для hid.dll
LoadSetupApi;// для setupapi.dll
0
03.03.2010, 20:31
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.03.2010, 20:31

Ищу книгу "Практика применения Perl, PHP, Apache, MySQL для активных Web-сайтов"
Доброго времени суток всем. Ищу книгу "Практика применения Perl, PHP, Apache, MySQL для активных...

Бьярне Страуструп Программирование: принципы и практика использования C++ кто читал
Нам посоветовали книгу( в универи посоветовал препод), Бьярне Страуструп Программирование: принципы...

Вопрос к тем кто хорошо знаком с книгой Чарльза Петцольда "Программирование для Microsoft Windows на C#. Ваше мнение о книге на данные момент?
Собственно вопрос - книга 2002 года, и посему интересуюсь насколько по вашему мнению устарели...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru