Einzelnen Beitrag anzeigen

Noobinator

Registriert seit: 9. Mai 2006
147 Beiträge
 
Delphi 7 Personal
 
#1

Speicheradressen von Array ändern sich nach setlength()

  Alt 29. Sep 2008, 14:30
Hallihallo

Ich bin gerade ein bissl am rumbasteln, und habe in meiner aktuellen
bastellage pointer auf Arrayelemente

Delphi-Quellcode:
myarray: Array of Meintyp;
meinzeiger:^Meintyp;
....
meinzeiger := @myarray[index];
Soweit sogut Funktioniert alles einwandfrei

nur sobald ich im Array rumbastel

Delphi-Quellcode:
setlength(array,length(array) + 1);
//und
setlength(array,high(array));
fliegen mir die AV's nur so um die Ohren.
Nach Stundenlangem Debuggen habe ich nun Mitbekommen, das die Speicheradressen des Array nach jedem rumpfuschen im Array ganz andere sind.

--> Pointer fürn Arsch

Könnt ihr mir erklären warum ein solches Verhalten auftritt?
Kann man das irgendwie unterbinden?
sicherlich nicht oder?

Der Noobi
  Mit Zitat antworten Zitat