Меню

+7 (495) 785-95-25
sale@lcard.ru
sale@lcard.ru
Страницы 1
Тема закрыта
|
||||
|
E14-140 функция OpenLDeviceILE140 *pModule;
// попытаемся получить указатель на интерфейс для модуля E14-140
hStopEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if (pModule == NULL);
выполняем такой код для инициализации прибора.
Что может влиять на OpenLDevice ? есть другая программа . Там такой же код инициализации. Она нормально находит.
|
|||
|
||||
|
Re: E14-140 функция OpenLDevice1. Вы проверяете версию библиотеки?
|
|||
|
||||
|
Re: E14-140 функция OpenLDeviceOpenLDevice не выдает ошибки. Просто он ничего не находит!
void __fastcall TMainForm::ToolButton9Click(TObject *Sender)
}
Дак вот i=127 всегда... понять не могу от чего так. |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceпричем сделал пустой проект и там он благополучно находит устройство. Я думал что возможно где-то в коде проги интерфейс устройста ацп как-то скрыто занимается и поэтому выходит такая ошибка, но потом я поверграф открыл после того как он ничего не нашел в 127 слотах и поверграф начал нормально рисовать. Блин. че заново проект делать? Копипаст глобальный что ли?
|
|||
|
||||
|
Re: E14-140 функция OpenLDeviceничего не понимаю. Вот void __fastcall TMainForm::FormCreate(TObject *Sender) {
char ModuleName[7];
Application->ProcessMessages(); // проверим версию используемой DLL библиотеки
// попытаемся получить указатель на интерфейс для модуля E14-140
hStopEvent = CreateEvent(NULL, TRUE, FALSE, NULL); if (pModule == NULL);
что тут не так?
|
|||
|
||||
|
Re: E14-140 функция OpenLDeviceВообщем решил проблему. Перекопировал проект из одной папки в другую и заработало. Можете объяснить что происходит?)))) Я вот ничего не понял например. Может в либе лкарда там ограничения есть на названия папок? |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceНаверное, цеплялась другая lusbapi.dll Версию DLL проверять НЕОБХОДИМО, причем до обращения к каким-либо функциям, кроме GetDllVersion. Возвращенное значение должно быть СТРОГО равно CURRENT_VERSION_LUSBAPI, в противном случае вызывать методы созданных через CreateLInstance объектов нельзя, это может привести к аварийному завершению программы или непредсказуемым результатам (вызов по неверному указателю на функцию!). CreateLInstance только создает объект (выделяет динамическую память), он не обращается к устройству и поэтому pModule было не NULL. А OpenLDevice при ошибке вернет FALSE, после чего можно сделать GetLastErrorInfo и посмотреть, что за сообщение. |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceну версию я проверил
GetLastErrorInfo - это что? ВинАПИ функция какая -то ? http://www.piclist.com/techref/os/win/a … f33_15.htm это? |
|||
|
||||
|
Re: E14-140 функция OpenLDevice> GetLastErrorInfo - это что? ВинАПИ функция какая -то ?
|
|||
|
||||
|
Re: E14-140 функция OpenLDeviceага. сделал.
ErrorNumber=101 ErrorNumber |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceНа ПК стоит Xp SP3. )))
|
|||
|
||||
|
Re: E14-140 функция OpenLDeviceВо-первых, так lasterror будет соответствовать всегда слоту 127. Лучше уж тогда проверить только для слота 0 (если одно устройство) или вывести список из нескольких
Про версию windows смешно Но больше похоже, что все-таки в неудачном эксперименте была неверная версия DLL (отсутствовала в каталоге с exe файлом, подцепилась из %windir%//system32 ?) и еще не было проверки GetDllVersion. Тогда мог вызваться не тот метод вместо private TLUSBBASE::GetWindowsVersion и все пошло наперекосяк. |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceПервая фраза не актуальна - не разглядел скобки. Они у Вас непарные |
|||
|
||||
|
Re: E14-140 функция OpenLDevicedll был и в папке винды и в директории с экзефаилом одинаковый.
Мне кажется что просто собирается в билдере проект не корректно. С путями что-то вытворяет просто. Не знаю. Может причина даже в билдере вообще. Ну смешно же, просто перекопировал проект в другую папку и он заработал. |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceВообще с BCB могут быть такие приколы, что просто собирается неправильный код, не соответствующий исходному тексту. В таком случае должен помочь перезапуск среды и Rebuild проекта. |
|||
|
||||
|
Re: E14-140 функция OpenLDeviceАлександр Е, это я делал все в первую очередь. Если разберусь с этим супер глюком отпишусь))) |
Страницы 1
Тема закрыта