Вниз
Скачать: CL | DM;

Функция CERapiInit   Найти похожие ветки 

← →
XGarik   (2005-09-15 14:08) [0]

Помогите!!! Очень срочно!!!
Для синхронизации пк с кпк использую библиотеку RAPI.DLL.
Суть проблемы в проверке состояния подключения кпк к пк. Использую функцию CERapiInit данной библиотеки, которая в случае успеха возвращает 0.

if CERapiInit=0 then
 showmessage("Устройство подключено")
else
 showmessage("Ошибка! Устройство не подключено");


Данный код работает только при подключенном устройстве, а если устройство отсоединить или выключить, то произойдет подвисание программы и происходит ожидание завершения функции... Пробовал использовать try... except (результат тот же)...

Как это обойти? Всю голову поломал, никак не могу с этим справиться (ума не хватает).
Читал MSDN и пробовал разобраться с еще 1-й функцией CERapiInitEX, но безрезультатно. Искал также в Гугле, нашел  множество примеров, но не один не работал!


← →
Tonich ©   (2005-09-15 15:16) [1]

а ты на чем пишешь для кпк?


← →
Tonich ©   (2005-09-15 15:20) [2]

или не пишешь для него, а лишь хочешь слить данные ?


← →
XGarik   (2005-09-27 09:28) [3]

Народ! Все оказалось просто я использовал кривопереведенную с Си версию модуля RAPI.pas. Вот окончательная версия рабочего модуля, который проверяет подключение КПК к компу:

var
 ri : TRapiInit;
 hRes : HRESULT;
 dwRet : DWORD;
 flag: boolean;
begin
 flag:=true;
 repeat
   ri.cbSize :=  sizeof(ri);
   hRes := CeRapiInitEx(ri);
   dwRet := WaitForSingleObject(ri.heRapiInit, 5000);
   if (dwRet <> WAIT_OBJECT_0) OR (SUCCEEDED(ri.hrRapiInit) = FALSE) then
   begin
     CeRapiUninit;
     if Application.MessageBox("КПК не подключен!!!" + Chr(13) + "Установите КПК в USB-кредл и нажмите " + Chr(34) + "Да" + Chr(34) + " для продолжения работы или " + Chr(34) + "Нет" + Chr(34) + " для отмены загрузки/выгрузки данных.","Внимание",mb_IconWarning + MB_YESNO)=IDNO then
     begin
 flag:=false;        
 Exit;
     end;  
   end;
 until ((dwRet <> WAIT_OBJECT_0) OR (SUCCEEDED(ri.hrRapiInit) = FALSE))=false;


Обновленная (точнее версия в которой все запохало) версия модуля RAPI.PAS:
http://www.modaco.com/index.php?act=Attach&type=post&id=8173



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.027 c
1-1130920256
Dgin
2005-11-02 11:30
2005.11.27
Как поднять у наследника метод?


14-1131102516
Megabyte
2005-11-04 14:08
2005.11.27
Обращение к Юре Федорову


14-1130915105
boalse
2005-11-02 10:05
2005.11.27
Компьютерный ажиотаж.


14-1131115835
ArtemESC
2005-11-04 17:50
2005.11.27
Загрузочный сектор


2-1131695811
Al_Ba
2005-11-11 10:56
2005.11.27
Как программно установить атрибуты файла при его создании




   Наверх