Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > путаница с lineDrop


Автор: Radon 29.10.2005, 19:23

Цытата из DRKB тема:Как можно разорвать соединение с интернетом?

LONG lineDrop(
HCALL hCall,
LPCSTR lpsUserUserInfo,
DWORD dwSize
);

Я что то непонимаю как ее использовать
у меня пишет :

[Error] Unit1.pas(28): E2003 Undeclared identifier: 'LONG'
[Error] Unit1.pas(28): E2003 Undeclared identifier: 'HCALL'

может надо какой-то unit поставить
помогите а то: smile smile

Автор: Droll 30.10.2005, 11:11
Никакой путанницы тут нет. Описание функции взято из MSDN, а в Delphi эта функция почему-то не вошла. Функция lineDrop находится в библиотеке tapi32.dll описать в программе ее можно приблизительно так:
Код

...
type
  THCALL = Cardinal;
  LONG = LongInt;
...
  function lineDrop(hCall : THCALL; lpsUserUserInfo : LPCSTR;
    dwSize : DWORD) : LONG; stdcall;
...
implementation
...
  function lineDrop; external 'tapi32.dll' name 'lineDrop';
....


или даже еще проще:
Код

...
function lineDrop(hCall: Cardinal; lpsUserInfo: LPSTR;
  dwSize: DWORD): Longint; external 'tapi32.dll' name 'lineDrop';
...
implementation
...

Самое главное в этом деле - правильно заполнить эту функцию.

Автор: Guest 30.10.2005, 13:33
Цитата(Droll @ 30.10.2005, 11:11)
Самое главное в этом деле - правильно заполнить эту функцию.


Droll - будь добр и обясни все до конца
а то сам я трудно пойму
что значат эти ...

hCall: Cardinal //
lpsUserInfo: LPSTR //
dwSize: DWORD //

Пример: Я хочу разорвать связь с интернетом (прямой доступ через модем)
smile smile smile

Автор: Droll 30.10.2005, 14:44
Насколько я понял из MSDN, сначала надо получить хэндл звонка (HCall). Его можно получить с помощью некой функции (как я понял, с помощью lineOpen). Тут Вам может помочь http://www.torry.net/vcl/comms/tapi/d_tapi.zip .
Затем, после получения хэндла, вызываете lineDrop, в которой достаточно указать один только хэндл. Т.е.
Код

  lineDrop(hCALL, nil, 0);

кстати говоря, в приведенном выше примере есть модуль tapi.pas, в котором все нужные функции прописаны.

Кроме того, на http://www.torry.net/ есть еще несколько хороших примеров для работы с модемами и соединениями.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)