Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.17;
Скачать: CL | DM;

Вниз

Event ы, Thread ы или remote api. где ошибка?   Найти похожие ветки 

 
jack128 ©   (2003-02-07 23:24) [0]

Заманался уже вроде все правильно но неработает

может ошибка в работе с Event" ами

Такое ощущение что ивент ri.heRapiInit не сигналит
хотя функция работает нармально(соединение устанавливается)

Небольшое пояснение :

СeRapiInitEx - асихронная функция об её выполнении сигналит
ивент ri.heRapiInit;результат функции Ri.hrRapiInit; FUserEvent : Tevent чтобы юзер мог прекратить ожидание..

procedure TInitRapiThread.Execute;
var ri : TRapiInit;
handles : array[0..1] of THandle;
begin

FreeOnTerminate := True;
Ri.cbSize := SizeOf(Ri);
case CeRapiInitEx(@Ri) of
E_FAIL : begin ReturnValue := Integer(False); Exit; end;//Функция провалилась - выход
CERAPI_E_ALREADYINITIALIZED : begin ReturnValue := Integer(True); Exit; end// RAPI уже инициализирована - выход
else begin // иначе успех
Handles[0] := Ri.heRapiInit; Handles[1] := FUserEvent.Handle;// заполняем нассив Handles и ждем
if WaitForMultipleObjects(2,@Handles[0],False,Ftimeout) = WAIT_OBJECT_0 then begin // функция отработала определяем результат и выходим
ReturnValue := Integer(Ri.hrRapiInit <> E_FAIL);
if not boolean(ReturnValue) then CeRapiUninit();
end else begin
// ожидание прервал юзер или истек таймаут
ReturnValue := Integer(False);
CeRapiUninit();
end;
end;
end;
end;


 
jack128 ©   (2003-02-09 22:54) [1]

up



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

Текущий архив: 2003.02.17;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.019 c
1-53073
Split_
2003-02-06 18:30
2003.02.17
Help! Нужна помощь со строками!


14-53215
Ketmar
2003-01-30 16:31
2003.02.17
повторю насущный вопрос: работа в Киеве.


14-53178
Владимир
2003-02-02 05:46
2003.02.17
Как узнать что посылать функциям в системной ДЛЛ?


3-52704
me2
2003-01-29 12:33
2003.02.17
Добавление столбцов к гриду в On-Line


1-53117
Maxim2030
2003-02-07 10:37
2003.02.17
Передача параметров через com между Delphi и VC