RT . 
使用的是 Bluetooth Framework X 这个控件包不知道有哪位用过没有,首先用 
TBFBluetoothDiscovery.Discovery(nil, false, false, True) 返回所有TBFBluetoothDevices 类型设备,然后再用
BFFileTransferClient1 进行连接,现在 已经可以连接传输文件,但问题是,PC机上的蓝牙不能切换连接,也就是说如果已经建立连接了,那我无法断开这个连接,再跟其它的设备连接,请问有谁知道怎么实现?

解决方案 »

  1.   

    没有对应的一个CloseXXX什么的断开链接吗?或者BFFileTransferClient1重新传参数建立新的链接?纯粹猜测,这个控件没用过!
      

  2.   

    有,我执行了这操作,还把相应的控件都释放了,还是不行,提示
    Bluetooth is busy with browsing services or connecting to a device.
      

  3.   

    没有FREE方法吗?对这个控件不熟悉。
      

  4.   

    连接代码:
      if Assigned(Devices) then
      begin
        FreeAndNil(Devices);
      end;
      Devices := TBFBluetoothDevice(lstBluetoothDevices.Items.Objects[lstBluetoothDevices.ItemIndex]);
      Label1.Caption := '正在连接到 ' + Devices.Name + ',请等候......';
      ConnectClient(Devices);
      Label1.Caption := '已连接到设备 ' + Devices.Name + '';
      btnSend.Enabled := Devices <> nil;
    procedure TfrmBluetooth.ConnectClient(FDevice : TBFBluetoothDevice);
      var Temp : TBFFileTransferClient;
    begin
      if Assigned(BFFileTransferClient) then
      begin
        BFFileTransferClient.Close;
        FreeAndNil(BFFileTransferClient);
      end;
      BFFileTransferClient := TBFFileTransferClient.Create(nil);
      with BFFileTransferClient do
      begin
        OnProgress := BFFileTransferClientProgress;
        Application.ProcessMessages;
        Transport := atBluetooth;
        BluetoothTransport.Service := 'Browse Group Descriptor';
        BluetoothTransport.Address := FDevice.Address;
        BluetoothTransport.Device :=FDevice;
        Open;
      end;
    end;