采用蓝牙低功耗的德尔福:探索设备

时间:2018-04-25 02:12:45

标签: android delphi bluetooth

我正在开始使用Bluetooth Low Energy的应用程序,在Delphi 10.2 Tokyo和Windows 10中为Android开发。

我在TForm中创建了一个包含TButton和TBluetoothLE对象的新项目。 TButton OnClick事件仅包含以下代码:

BluetoothLE1.Enabled: = True;
BluetoothLE1.DiscoverDevices(2000);

在我的第一次测试中有两个问题:

问题1 )当运行应用程序(使用F9)并执行BluetoothLE1.DiscoverDevices(2000);时,如果没有运行上述OnClick两次,则找不到BLE设备(但是有一个BLE设备正在运行,我可以在附近找到另一个应用程序。即使我更改了TimeOut值(加号或减号),如果BluetoothLE1.DiscoverDevices仅运行一次,也不会找到设备。

问题2 )当应用关闭时(使用F9运行并执行DiscoverDevices后),会出现Invalid Pointer Operation。 Embarcadero BluetoothLE示例也会出现此错误。如果使用Shift+Ctrl+F9运行应用程序,则没有错误。

这些问题有解决方案吗?怎么样?

1 个答案:

答案 0 :(得分:0)

在Windows平台上运行应用程序时,您只能找到配对的BLE设备。 Delphi蓝牙实现中有很多bug。我不知道Android部分,但对于Windows,你需要其他解决方案而不是默认的Delphi。