自己作为广播方,连接我的设备断开收到的事件。
TBluetoothLE.OnDisconnectDevice
TBluetoothLEDevice
BluetoothLE1->DiscoveredDevices->Items[i]->DisposeOf();
BluetoothLE1.DiscoveredDevices[0].OnConnect;
BluetoothLE1.DiscoveredDevices[0].OnDisconnect;
procedure TForm7.myDisConnect( Sender : TObject ); begin end; procedure TForm7.FormCreate( Sender : TObject ); begin BluetoothLE1.DiscoveredDevices[ 0 ].OnDisconnect := myDisConnect; end;
和下面这个是相反的。
System.Mac.Bluetooth.pas { TInternalBluetoothLEManager } procedure TInternalBluetoothLEManager.centralManagerDidConnectPeripheral(central: CBCentralManager; peripheral: CBPeripheral); begin FLastError := 0; FConnected := True; if Assigned(FOnDeviceConnect) then FOnDeviceConnect(Self, peripheral); end; procedure TInternalBluetoothLEManager.centralManagerdidDisconnectPeripheral(central: CBCentralManager; peripheral: CBPeripheral; error: NSError); begin FLastError := error.code; FConnected := True; if Assigned(FOnDeviceDisconnect) then FOnDeviceDisconnect(Self, peripheral); end;
property OnDeviceDisconnect: TDeviceConnectionChangeEvent read FOnDeviceDisconnect write FOnDeviceDisconnect;
property OnDeviceConnect: TDeviceConnectionChangeEvent read FOnDeviceConnect write FOnDeviceConnect;
FOnConnect: TNotifyEvent;
FOnDisconnect: TNotifyEvent;
所以可以用TNotifyEvent自定义通知事件来解决。
TNotifyEvent is used for events that do not require parameters.
The TNotifyEvent type is the type for events that have no event-specific parameters. These events simply notify the component that a specific event occurred. For example, OnClick, which is of type TNotifyEvent, notifies the control that a click event occurred on the control.
The Sender
parameter is the object whose event handler is called. For example, with the OnClick event of a button, the Sender
parameter is the button component that is clicked.
property OnDisconnect: TNotifyEvent read FOnDisconnect write FOnDisconnect;
// will be invoked once disconnected -(void)centralManager:(CBCentralManager *)central didDisconnectPeripheral:(CBPeripheral *)peripheral error:(NSError *)error;