Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Tapi -> lineanswer [D7, WinXP]


kolj ©   (2008-04-02 18:15:00) 

Возникла следующая проблема : Когда приходит входной звонок немогу поднять трубку, хотя ф-я lineanswer возвращает положытельное значение. В чем может быть причина ???

Пробовал так
1)

procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall;
var err:longint;
begin
if dwmsg = LINE_APPNEWCALL then begin
 form1.ListBox1.Items.Add('RING');
 err:=lineSetCallPrivilege(dwparam2,LINECALLPRIVILEGE_OWNER );
 form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err));
 err:=lineanswer(dwparam2,nil,0);
 form1.listbox1.items.add('lineanswer= '+inttostr(err));
end;

2)

procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:dword);stdcall;
var err:longint;
hc:hcall;

if dwmsg = LINECALLSTATE_OFFERING then begin
 form1.ListBox1.Items.Add('RING1');
 hc:=hcall(hdevice);
 err:=lineSetCallPrivilege(hc,LINECALLPRIVILEGE_OWNER );
 form1.listbox1.items.add('lineSetCallPrivilege= '+inttostr(err));
 err:=lineanswer(hc,P,SIZEOF(P));
 form1.listbox1.items.add('lineanswer= '+inttostr(err));

В обоих случаях ф-и lineSetCallPrivilege и lineanswer возвращают код успешного завершения (соответственно 0 и >0)

ф-я lineopen выглядит так и результатом ее выполнения есть 0.

err1:=lineopen(lineapp,dwTapiDeviceID,@f_hline,dwAPIVersion,0,0,LINECALLPRIVILEG E_MONITOR + LINECALLPRIVILEGE_OWNER  , LINEMEDIAMODE_INTERACTIVEVOICE, nil);


kolj   (2008-04-02 20:05:00) [1]

В первом случае lineanswer возвращает  LINEERR_INVALCALLSTATE(The call state is invalid.)


Наверх

Титульная страница Поиск, карта сайта Написать письмо