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);