【问题标题】:Delphi with Bluetooth Low Energy: Discover DevicesDelphi 与低功耗蓝牙:发现设备
【发布时间】:2018-04-25 02:12:44
【问题描述】:

我正在使用低功耗蓝牙启动一个应用程序,在 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 运行应用程序不会出错。

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

【问题讨论】:

    标签: android delphi bluetooth


    【解决方案1】:

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

    【讨论】:

    • 是的,我之前注意到在 Windows 中只能找到配对的设备。你知道 Delphi 中有什么更好的蓝牙 LE 库吗?谢谢。
    • 是的,但这似乎是广告,我担心我的出租车会因此被禁止。寻找蓝牙框架。
    • 我的意思是:是否有跨平台库用于在 Android 和 Windows 上使用低功耗蓝牙?据我所知,这个框架不是跨平台的。
    • 恐怕没有,Delphi 没有支持 BLE 通信的跨平台库。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-09
    • 2015-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-29
    • 2013-11-17
    相关资源
    最近更新 更多