Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
3.916 Beiträge
 
Delphi 12 Athens
 
#1

[Fmx] TTimeSpan richtig benutzen ?

  Alt 18. Jan 2017, 07:10
Hallo zusammen,

in der System.DateUtils unit gibt es ein TTimeSpan.
Das ist eine abstrakte Klasse und enthält abstrakte, virtuelle Funktionen.

Normalerweise würde ich die class variable "TTimeSpan-.Local" benutzen,
aber ich verlasse mich ungerne darauf das das schon jemand für mich initialisiert hat
(Weil es keine initialisation Sektion gibt).

  diTimeZone := (((TTimeZone.Local.UtcOffset.Hours * 60) + TTimeZone.Local.UtcOffset.Minutes) * 60) + TTimeZone.Local.UtcOffset.Seconds;

Dann versuche ich das selbst zu initialisieren:
Delphi-Quellcode:
  with TTimeZone.Create do
  begin
    diTimeZone := (((Local.UtcOffset.Hours * 60) + Local.UtcOffset.Minutes) * 60) + Local.UtcOffset.Seconds;
    Free;
  end;
und bekomme natürlich die Warnings in der Art:
Zitat:
[dccosx Warning] MyDeviceInfo.pas(594): W1020 Constructing instance of 'TTimeZone' containing abstract method 'TTimeZone.DoGetID'
Ich frage mich wie soll diese Klasse benutzt werden (selber ableiten wird es doch wohl nicht sein) ?
Ist TTimeSpan.Local immer und auf Allen Platformen korrent initialisiert ?

Vielleicht ist es ja auch ein Bug, oder ein Feature

Rollo
  Mit Zitat antworten Zitat