Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.095 Beiträge
 
Delphi 12 Athens
 
#6

AW: MacOS/iOS: Nutzung von BluetoothLE mit Delphi 10.4.2

  Alt 10. Mär 2021, 12:33
Ich hatte da schon seit Mindestens Rx10.2.2 Workarounds drin,
aber der damalige Code sah so aus:

im Rx10.2.2 System.Bluetooth.Mac: Da war es so
Delphi-Quellcode:
function TMacBluetoothLEManager.DoGetAdapter: TBluetoothLEAdapter;
begin
  if GetConnectionState = TBluetoothConnectionState.Disconnected then
    FAdapter := nil;
  Result := FAdapter
end;

function TMacBluetoothLEManager.GetConnectionState: TBluetoothConnectionState;
var
  LTotal: Single;
  LMacBluetoothLEAdapter: TMacBluetoothLEAdapter;
begin
  if FAdapter = nil then
    FAdapter := TMacBluetoothLEAdapter.Create(Self);
...


Es ist ja in Ordnung das eigentliche Create wirklich in das DoGetAdapter zu verlagern,
im GetConnectionState war das irgendwie fehl am Platz.

Trotzdem frage ich mich warum bei mir die Orginal-Routinen in Rx10.4.2 funktionieren,
und auch die Rx1022 funktionierten.
Naja, ich habe mittlerweile so viele Fixes drin dass man die ÜBersicht verliert.

im Rx1042 System.Bluetooth: Der Aufruf CurrentManager erzeugt das normalerweise
Delphi-Quellcode:
function TBluetoothLEManager.GetCurrentLEAdapter: TBluetoothLEAdapter;
begin
  Result := DoGetAdapter;
  if Result = nil then
    raise EBluetoothAdapterException.Create(SBluetoothDeviceNotFound);
end;
  Mit Zitat antworten Zitat