Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.171 Beiträge
 
Delphi 12 Athens
 
#13

AW: [Open-Source / Fun] - Desktop Clock

  Alt 4. Dez 2011, 01:23
Runtime Error 201 > reRangeError > ERangeError > Indexfehler z.B. in einem Array

Nja, da hier jemand zwanghaft auf die böse SysUtils verzichten wollte, gibt es zwar eine kleiner Datei, aber dafür eben auch keine "ordentlichen" Exceptions und auch keine Exceptionbehandung.
Ergebnis: Es raucht gleich ab und man weiß nicht wo ... nichtmal das Debuggen ist schön, da der Debugger auf Exceptions und nicht auf diesen Systemfehler reagiert.


Der Fehler:
Delphi-Quellcode:
const
  dow: array [1..7] of String = (
    'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag', 'Sonntag');

function MakeDate: String;
begin
  // GetDateTime;

  Result := format('%s, %d. %s %d',
    [dow[lpSysTime.wDayOfWeek], lpSysTime.wDay, moj[lpSysTime.wMonth], lpSysTime.wYear]);
end;
lpSysTime.wDayOfWeek zählt aber von 0 bis 6 (Sonntag = Wochenanfang) und das ist schon immer so, es knallt also überall und in jeder Windowsversion, wenn gerade Sonntag ist.

Lösung:
Delphi-Quellcode:
  dow: array [0..6] of String = (
    'Sonntag', 'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag', 'Samstag');
Nachgesehn ... der 7. Okt. 2008 war ein Dienstag und da sich wohl niemand mehr bis zum / an einem Sonntag mit diesem Programm beschäftigt hat ........
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 4. Dez 2011 um 11:39 Uhr)
  Mit Zitat antworten Zitat