-
Данный код инициализирует линию и находит модем. Когда идет входной звонок то срабатывает CallBack ф-я, но программа почему-то не может распознать параметр dwMsg, подскажыте пожалуйста в чем может быть проблема.
procedure lineCallBack (hDevice,dwMsg,dwCallbackInstance,dwParam1,dwParam2,dwParam3:cardinal); begin form1.ListBox1.Items.Add('Callback'); case dwmsg of LINECALLSTATE_OFFERING: form1.ListBox1.Items.Add('Call'); end; end;
procedure TForm1.Button1Click(Sender: TObject); var
f_hline:hline; lineApp:HLINEAPP; hCal : HCALL; lpDeviceID: PVarString; lpszDeviceClass:LPCWSTR; lineInit:LINEINITIALIZEEXPARAMS; dwNegotiatedTapiVersion:DWORD; LineExtension:LINEEXTENSIONID; dwAPIVersion:dword; ndevs:dword; AppName:array[0..20] of char; dwExtVersion:Dword; lpLineCaps:linedevcaps; p:pchar; dwTapiDeviceID:Longint; dwTapiMediaMode:DWORD; err,l,err1,i:longint;
s:string; begin dwTapiDeviceID:=-1; dwTapiMediaMode:=LINEMEDIAMODE_INTERACTIVEVOICE; dwAPIVersion :=$00020000; p:=pchar('kolj'); AppName := 'IP OFFICE Project'; dwExtVersion := 0; ndevs:=0; lineapp:=0;
lineInit.dwCompletionKey:=0; lineInit.dwTotalSize := sizeof(LINEINITIALIZEEXPARAMS); lineInit.dwOptions :=LINEINITIALIZEEXOPTION_USEHIDDENWINDOW;
err1 := lineInitializeEx( @lineApp , HInstance , @lineCallBack , AppName ,nDevs , dwAPIVersion, lineInit );
LineExtension.dwExtensionID0:=0;
for i:=0 to ndevs do begin err1:=lineNegotiateAPIVersion(lineApp,i,dwAPIVersion,dwAPIVersion,dwNegotiatedTa piVersion,LineExtension); if err1=0 then begin lpLineCaps.dwTotalSize := sizeof(LINEDEVCAPS); err1:=lineGetDevCaps(lineapp,i,dwNegotiatedTapiVersion,0,@lpLineCaps); if err1= 0 then begin if (lplineCaps.dwMediaModes = 30) then begin listbox1.Items.Add(' !!!! Device'); dwTapiDeviceID:=i; end; end; end; end;
err1:=lineopen(lineapp,dwTapiDeviceID,@f_hline,dwAPIVersion,0,0,LINECALLPRIVILEG E_MONITOR +LINECALLPRIVILEGE_OWNER , LINEMEDIAMODE_AUTOMATEDVOICE, nil);
-
а stdcall кто ставить будет? бябя федя? тетя мотя?
|