Страница 1 из 1

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

Добавлено: 2008-11-17 13:00:32
mml
К сожалению не удается скомпилировать примеры в 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.
Версия hid.dll под W2000 5.0.2195.6655.

Заранее спасибо.

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

Добавлено: 2008-11-17 19:10:38
paradox
dcu модули есть вообще?

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

Добавлено: 2008-11-17 19:13:42
ev
в книге какая версия дельфи использовалась?
примеры можно тут выложить для теста ;)

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

Добавлено: 2008-11-17 19:45:26
iZEN
В среде Delphi есть панель настроек путей к библиотекам и DCU. (Можно указать в том числе относительные пути относительно каталога проекта: "..\dcus\;" и т.д.)

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

Добавлено: 2008-11-18 7:34:17
mml
Проблему удалось решить дописав в код:

procedure TForm1.FormCreate(Sender: TObject);
begin
LoadHid;
LoadSetupApi;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
UnloadHid;
UnloadSetupApi;
end;

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

Добавлено: 2008-12-02 9:37:08
Ndorfin
Кстати, скачал обновленные модули JEDI (http://delphi-jedi.org/) там учитывается среда программирования.
А также есть поддержка многих функций для WinVista.
Однако во всех скаченных архивах не нашел ни Hid.pas ни дргуих sourceв с содержанием нужных функций HIDP :unknown:

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

Добавлено: 2008-12-02 11:18:55
hizel

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

Добавлено: 2008-12-08 15:26:30
Ndorfin
Hizel дядя, за ссылку конечно спасибо, но у них там вышел ДИалог, обменялись sourcами и все, да и проблема-то там была надуманная. А Hid.pas на сайте JEDI всё же нашел - в разделе "Старые архивы".

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

Добавлено: 2008-12-09 15:44:43
Ndorfin
Народ, подскажите на что стоит обратить внимание, если в устройстве необходимо предусмотреть наличие нескольких конфигураций.
Как между ними переключиться и какие особенности описания дескрипторов и обработки запросов.

Заранее спасибо! :bn: