Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Вниз

Tapi -> LineGetId   Найти похожие ветки 

 
kolj   (2008-03-27 11:43) [0]

Возникла проблема с ф-й LineGetId, если кто-то работал исправьте где не правильно. Спасибо .
Значення яке повертає err = - 2743123651

var
hlin:hline;
hCal : HCALL;
DeviceID :^tvarstring;
err,l:longint;
begin
 l:= sizeof(deviceid^);
 GetMem(deviceid,l);
 deviceid.dwTotalSize := l;

err:=linegetid ( 0 , 0, Hcal , LINECALLSELECT_LINE  , @deviceid,"wave/out");

if deviceid.dwTotalSize < deviceid.dwNeededSize then begin
l:=deviceid.dwNeededSize;
getmem(deviceid,l);
deviceid.dwTotalSize:=l;
err:=linegetid( 0 , 0 , HCal,LINECALLSELECT_LINE,@deviceid,"wave/out");
end;


 
han_malign ©   (2008-03-27 13:39) [1]

- выдернуто из контекста, но надеюсь разберешься
var sz: DWORD;
   lpDeviceID: PVarString;
begin
 sz:=sizeof(TVarString); lpDeviceID:=nil;
 repeat
   if(lpDeviceID<>nil)then FreeMem(lpDeviceID);
   GetMem(lpDeviceID,sz);fillchar(lpDeviceID^,sz,0);
   lpDeviceID.dwTotalSize:=sz;
   Result:=lineGetId(F_hLine,dwAddressID,hCall,dwSelect,lpDeviceID,Pointer(lpszDevi ceClass));
   sz:=lpDeviceID.dwNeededSize;
 until((Result<>0)or(lpDeviceID.dwTotalSize>=lpDeviceID.dwNeededSize));
 if(lpDeviceID<>nil)then begin
   FreeMem(lpDeviceID);
 end;
end;


 
han_malign ©   (2008-03-27 13:42) [2]

а не - вру - не поможет, у тебя и так почти тоже самое, ща посмотрю, что за ошибка


 
han_malign ©   (2008-03-27 13:50) [3]

значение err - левое, а вот нахрена ты второй раз адрес указателя берешь - непонятно...
собаку убери...


 
kolj   (2008-03-27 16:21) [4]

to han_malign.
Попробовал твой пример, значение  result = - 2743123565.

> значение err - левое
ф-я дает неправильное значение  ?

подкажы пожалуйста как со структруи VARSTRING  взять идентификатор устройства.


 
kolj   (2008-03-27 16:31) [5]

какие надо параметры передавать в ф-ю linegetid ?


 
han_malign ©   (2008-03-27 16:52) [6]


> какие надо параметры передавать в ф-ю linegetid ?

для начала надо lineInitializeEx сделать, а вот зачем и почему - читай хелпы.
Я тут вольный перевод MSDN-а делать не нанимался...


 
GanibalLector ©   (2008-03-27 20:33) [7]

У меня так :

LINECALLSTATE_CONNECTED:
       begin
         if Call<>0 then
         begin
           lVarString := AllocMem(sizeof(lVarString^));
           lVarString^.dwTotalSize := sizeof(lVarString^);

           lineGetID(0, 0, Call, LINECALLSELECT_CALL, lVarString, "comm/datamodem");
           if lVarString^.dwNeededSize > lVarString^.dwTotalSize then
           begin
             ReallocMem(lVarString, lVarString^.dwNeededSize);
             lVarString^.dwTotalSize := lVarString^.dwNeededSize;
             I := lineGetID(0, 0, Call, LINECALLSELECT_CALL, lVarString, "comm/datamodem");
             if TApiFailed(I) then
             begin
               lineDrop(Call,nil,0);
             end;    
           end;
         end;
       end;



 
kolj   (2008-03-28 09:19) [8]

Дайте пожалуйста пример использования ф-и lineInitializeEx , и покажите где берете входные параметры


 
GanibalLector ©   (2008-03-29 11:20) [9]

>Дайте пожалуйста пример использования ф-и lineInitializeEx

Получай:

var R:Longint;
   ExParams:pLineInitializeExParams;
begin
 ExParams:=AllocMem(SizeOf(TLineInitializeExParams)+1000);
 ExParams^.dwTotalSize:=SizeOf(TLineInitializeExParams)+1000;
 ExParams^.dwOptions:=FInitOpt;
 try
   R:=LineInitializeEx(PHLINEAPP(@FAppHandle),hInstance,CallBackFunc,PChar(FAppName ),FNumDev,FAPIHiVer,ExParams^);
   if R <>0 then  RaiseTAPILineError(R);
   case ExParams^.dwOptions of
     LINEINITIALIZEEXOPTION_USEEVENT:
     begin
       FEvent:=ExParams^.Handles.hEvent;
       FThread:=TTAPIThread.Create(FAppHandle,FEvent);
     end;
   end;
 finally
   FreeMem(ExParams);
 end;
end;




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

Форум: "WinAPI";
Текущий архив: 2009.03.15;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.046 c
8-1190734233
Xdebugger
2007-09-25 19:30
2009.03.15
Как программно выделить определённую частоту?


2-1232696590
Юзер
2009-01-23 10:43
2009.03.15
Подскажите как ???


2-1233132382
Валера
2009-01-28 11:46
2009.03.15
Запись бинарного кода в реестр (REG_BINARY)


9-1178095987
Sherzod
2007-05-02 12:53
2009.03.15
проблема при масштабировании.....


2-1232460703
аврам
2009-01-20 17:11
2009.03.15
http cookies





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский