Einzelnen Beitrag anzeigen

Benutzerbild von negaH
negaH

Registriert seit: 25. Jun 2003
Ort: Thüringen
2.950 Beiträge
 
#13

Re: Kurioser Compiler-Hinweis - logisch nicht nachvollziehba

  Alt 28. Aug 2007, 19:48
0-basierter Index ist natürlich falsch, 0-basierter Offset wäre richtiger. Index ist absolut, Offset ist relativ.

Low(DynArray=nil) liefert 0 statt wie bei High(DynArray=nil) = -1, dafür gibt es einen Grund.

Die Abfrage

if (Index >= Low(Array)) and (Index <= High(Array)) then ist eine Standardabfrage. Wenn High(DynArray=nil) = -1 ist und Index ebenfalls -1 wäre dann verhindert Low(DynArray)=0 das diese Abfrage zutrifft. Man kann also implizit mit dieser Abfrage auch den Index begrenzen, er kann wenn diese Abfrage TRUE liedert niemals < 0 sein, obwohl eben High(DynArray) -1 sein kann.


Gruß Hagen
  Mit Zitat antworten Zitat