Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
2.061 Beiträge
 
Delphi 12 Athens
 
#1

IOS Platform Funktion cast {class}Pointer to Interface ???

  Alt Gestern, 10:20
ich habe diese schöne KI generierte unit ...die Fehler habe ich fast alle korrigiert... außer diesen einen.

Delphi-Quellcode:
unit uCurrentTimeZoneID;

interface
uses SysUtils,
     Types,
     Classes;

Function GetCurrentTimeZoneID:String;

implementation

Uses dateutils
    , Macapi.Helpers
    , Macapi.ObjectiveC
    , iOSapi.Foundation
    , FMX.Helpers.iOS ;

Function GetCurrentTimeZoneID:String;
Begin
  // On iOS, we use the Foundation framework's NSTimeZone class.
  // The 'name' property provides the IANA identifier.
  var LTimeZone: NSTimeZone;
  try
    // Get the system's local timezone object
    LTimeZone := TNSLocalTimeZone.OCClass.localTimeZone; <--------FEHLER : Localtimezone ist ein Pointer aber NSTimeZone ist ein Interface...
    if LTimeZone <> nil then
      Result := NSStrToStr(LTimeZone.name) // convert NSString to String
    else
      Result := TTimeZone.Local.ID; // Fallback if the object is nil
  except
    on E: Exception do
      Result := TTimeZone.Local.ID;// In case of any error, fallback to the default Delphi implementation
  end;
End;

end.
Allerding liefert TNSLocalTimeZone.OCClass NUR Pointer wo es eigentlich irgendwelche Objekte liefern sollte.
kann ich das einfach mit nem Typecast hinter mich bringen?
LTimeZone := NSTimeZone(TNSLocalTimeZone.OCClass.localTimeZone);
Andreas
Nobody goes there anymore. It's too crowded!

Geändert von QuickAndDirty (Gestern um 10:42 Uhr)
  Mit Zitat antworten Zitat