-
Уважаемые знатоки, вот уже третий день борюсь за право обуздать BlueTooth устройства и работу с ними, но ничего не выходит. А именно ни с исправленной библиотекой btapi и примерами под неё, ни с компонентами линейки BlueTooth Frimework 5.1.1 и примерами на них. Все примеры не определяют ни одного устройства, хотя Винда (ХР SP3) их нормально отображает. Кто то может подсказать, в чём проблемка или обсудить эту тему?
-
И почему этот топик до сих про в WinAPI? Автор не привел ни одного примера своего кода! Так какой ответ он ждёт? Дайте код?
-
Сорри, что неверно выбрал раздел для данного вопроса. Вот предоставлю сразу короткий фрагмент кода, который якобы должен работать по заверению автора, но у меня строка вызова первого устройства возвращает нулевое значение и сообщение об ошибке указывает, что просто нет таких устройств: var RootNode: TTreeNode; hFind: HBLUETOOTH_RADIO_FIND; hDevFind: HBLUETOOTH_DEVICE_FIND; FindParams: BLUETOOTH_FIND_RADIO_PARAMS; SearchParams: BLUETOOTH_DEVICE_SEARCH_PARAMS; SearchParamsSize: dword; DevInfo: ^PBLUETOOTH_DEVICE_INFO; DevInfoSize: dword; hRadio: THandle; RadioInfo: PBLUETOOTH_RADIO_INFO; RadioInfoSize: dword; RadioNode: TTreeNode; Loop: integer; DevNode: TTreeNode; begin with TreeView.Items do begin BeginUpdate;
// Очищаем дерево for Loop := 0 to Count - 1 do begin if TreeView.Items[Loop].ImageIndex > 0 then CloseHandle(TreeView.Items[Loop].ImageIndex); if Assigned(TreeView.Items[Loop].Data) then Dispose(TreeView.Items[Loop].Data); end; Clear;
// Корневая ватвь в дереве RootNode := Add(nil, 'Bluetooth Radios'); with RootNode do begin Data := nil; ImageIndex := -1; end;
// Начинаем поиск локальных модулей Bluetooth FindParams.dwSize := SizeOf(BLUETOOTH_FIND_RADIO_PARAMS); hFind := BluetoothFindFirstRadio(@FindParams, hRadio); if hFind <> 0 then begin repeat // Получить информацию о радиомодуле .... end;
EndUpdate; end;
with TreeView do begin Selected := RootNode; Items[0].Expand(True); end; end; Т.е. этот метод был предложен автором, но строка "hFind := BluetoothFindFirstRadio(@FindParams, hRadio);" всё же возвращает нулевое значение. Так же и компоненты не находят БТ устройства по той же причине. Но Винда всё же их видит без всяких закавык. Что может быть? Методы, которые вызываются - это из "btapi.dll".
-
> Pashka.cool (09.05.10 23:19) [2] > > Сорри, что неверно выбрал раздел для данного вопроса. Вот > предоставлю сразу короткий фрагмент кода, который якобы > должен работать по заверению автора
Выбрал то ты верно. Но спросил не то и не там. Имхо.
Так у автора примера и спрашивай.
-
> Pashka.cool (09.05.10 23:19) [2]
В том, что ты привёл, нет ничего, что помогло бы найти ошибку.
-
У автора спрашивать сложно, т.к. последние сообщения на тех форумах, где статьи выложены - 2008-го года. Я просто надеялся, что хоть кто то вообще обуздал работу с БТ устройствами и как. Более всего интересует передача данных.
-
> Я просто надеялся, что хоть кто то вообще обуздал работу > с БТ устройствами и как.
Судя по всему твой SDK должен поддерживать все Framework. А живёт он до сих пор и весьма неплохо : http://www.btframework.com/download.htm
-
Всё, разобрался малость, но из-за недостатка времени выполнил всю работу по передаче файлов при помощи готовой проги, которую своей программой просто "заставил" выполнять нужные мне действия автоматом. Это уже как костыль из костылей, но для этого мне хватило несколько часов. Уже позже создам свой механизм работы с БТ используя библиотеку. Всем спасибо за ответы.
-
а насчет исправленной библиотечки BlueTooth Framework - не мог бы ты ее куда-нить залить? а то требуют все по 150 у.е.
|