Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
Delphi 2010 Professional
|
Re: Waren Delphi 3 Arrays Fehlertoleranter?
7. Mai 2009, 22:09
Hallo Popov,
du vermutest ganz richtig - es liegt an den dynamischen Arrays.
Zweidimensionale Arrays werden in Delphi zeilenweise im Speicher abgelegt. Bei statischen Arrays liegen diese Zeilen direkt hintereinander, man kann also prinzipiell ein zweidimensionales Array als ein großes eindimensionales Array betrachten und auch (über Zeiger oder einen TypeCast) so ansprechen.
Bei dynamischen Arrays liegen die einzelnen Zeilen nicht mehr zwangsläufig direkt hintereinander im Speicher, ein Zugriff außerhalb des gültigen Bereichs einer Zeile führt damit zu dem von dir beschriebenen Fehler.
Gruß Hawkeye
|