Einzelnen Beitrag anzeigen

hyype

Registriert seit: 5. Nov 2008
97 Beiträge
 
Delphi XE2 Professional
 
#8

AW: BoolToStr wirft Access Violation

  Alt 26. Jun 2012, 16:47
hallo und dankeschön an alle
ich befürchte fast, in meinem fall liegt es wohl an move...
ich habe dazu eine frage und würde sie hier einfach mal stellen und keinen neuen thread aufmachen:
gesetz dem fall, mein record beinhaltet einen string
(genauer gesagt ist es ein array of string, wobei weder die länge des arrays zur designzeit fest definiert ist, noch die der enthaltenen strings (ist nicht von mir))
und es gibt ein array of record von diesem record
und es wird ein move gemacht a la
Delphi-Quellcode:
  move(MyArrayOfMyRecord[i], MyArrayOfMyRecord[i-1], (length(MyArrayOfRecord)-i) * sizeof(MyRecord));
  setlength(MyArrayOfMyRecord, length(MyArrayOfMyRecord)-1);
was ist das Ergebnis? Kauderwelsch oder? ^^
Weil er kann ja die Größe meines Records nicht anhand des Typs bestimmen, weil weder Länge des Strings, noch Länge des StringArrays fest sind.
Er könnte höchstens die Größe eines ganz bestimmten Objektes dieses Typs ermitteln, was bedeuten würde, ich müsste die Summe an Bytes, die er moven soll, selbst bestimmen aus der Summe der Größe aller zu verschiebenden Elemente anstatt die Größe des Records mit der Anzahl zu multiplizieren, richtig?
Ließe sich dieses Problem umgehen, wenn man aus dem Record eine Klasse machen würde?

@kinzler: ToString kenn ich doch von Java, da hat Delphi wohl abgeguckt?
  Mit Zitat antworten Zitat