| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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 поставить помогите а то: |
| Автор: Droll 30.10.2005, 11:11 | ||||
Никакой путанницы тут нет. Описание функции взято из MSDN, а в Delphi эта функция почему-то не вошла. Функция lineDrop находится в библиотеке tapi32.dll описать в программе ее можно приблизительно так:
или даже еще проще:
Самое главное в этом деле - правильно заполнить эту функцию. |
| Автор: Guest 30.10.2005, 13:33 | ||
Droll - будь добр и обясни все до конца а то сам я трудно пойму что значат эти ... hCall: Cardinal // lpsUserInfo: LPSTR // dwSize: DWORD // Пример: Я хочу разорвать связь с интернетом (прямой доступ через модем) |
| Автор: Droll 30.10.2005, 14:44 | ||
| Насколько я понял из MSDN, сначала надо получить хэндл звонка (HCall). Его можно получить с помощью некой функции (как я понял, с помощью lineOpen). Тут Вам может помочь http://www.torry.net/vcl/comms/tapi/d_tapi.zip . Затем, после получения хэндла, вызываете lineDrop, в которой достаточно указать один только хэндл. Т.е.
кстати говоря, в приведенном выше примере есть модуль tapi.pas, в котором все нужные функции прописаны. Кроме того, на http://www.torry.net/ есть еще несколько хороших примеров для работы с модемами и соединениями. |