А для события OnExecute вот такой код:
Code: |
procedure TfmMain.acRemoveExecute(Sender: TObject); var Info: BLUETOOTH_DEVICE_INFO; Res: dword; begin Info := BLUETOOTH_DEVICE_INFO(ListView.Selected.Data^); Res := BluetoothRemoveDevice(Info.Address); if Res <> ERROR_SUCCESS then MessageDlg('Device not found', mtError, [mbOK], 0); TreeViewChange(TreeView, TreeView.Selected); end; |
Процедура выполняется достаточно долго, так что не думайте, что программа зависла.
Важно: Устройство удаляется из списка. Однако, если уже иметь адрес устройства, то можно получить о нем информацию.
Есть еще одно функция, которая связана с BluetoothRemoveDevice. Это:
BluetoothUpdateDeviceRecord - функция обновляет данные об устройстве в кэше.
Объявление функции:
Code: |
function BluetoothUpdateDeviceRecord( var pbtdi : BLUETOOTH_DEVICE_INFO): DWORD; stdcall; |
Параметры:
pbtdu |
Указатель на структуру BLUETOOTH_DEVICE_INFO. В ней должны быть заполнены поля: |
Возвращаемые значения:
ERROR_SUCCESS |
Функция выполнена успешно |
ERROR_INVALID_PARAMETER |
Указатель pbtdi=nil. (Для варианта в Delphi не реально, так как указатель мы получаем из структуры, передавая ее как var-параметр). |
ERROR_REVISION_MISMATCH |
Размер структуры в dwSize не правильный |
Другие ошибки Win32 |
|
Попробуем использовать и ее. Схема стандартная: TAction к ActionList, TButton на Panel:
Свойство |
Значение |
Caption |
Update |
Name |
acUpdate |
Свойство |
Значение |
Action |
acUpdate |
Name |
btUpdate |
Код:
Code: |
procedure TfmMain.acUpdateUpdate(Sender: TObject); begin TAction(Sender).Enabled := acProperty.Enabled; end; procedure TfmMain.acUpdateExecute(Sender: TObject); var Info: BLUETOOTH_DEVICE_INFO; Res: dword; NewName: string; begin if InputQuery('Имя устройства', 'Новое имя', NewName) then begin lstrcpyW(Info.szName, PWideChar(WideString(NewName))); Res := BluetoothUpdateDeviceRecord(Info); if Res <> ERROR_SUCCESS then RaiseLastOsError; TreeViewChange(TreeView, TreeView.Selected); end; end; |
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!