Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: SetLength / Getmem / AllocMem out of memory Problem

  Alt 8. Okt 2009, 11:37
Drum sagte ich ja, es gibt mehrere Möglichkeiten, welche man dann entsprechend abwegen kann.

eine Möglichkeit wäre z.B. auch das Array einfach aufzuteilen

Delphi-Quellcode:
// statt
TMyArray = Array of Data;

// dieses
TMyArray = Array of Array of Data;
Das SetLength ist dann zwar ein bissl umständlich zu erledigen, aber zugreifen könnte man dann z.B. so
(wenn man davon ausgeht, daß nach jeweils 1000 Einträgen ein neues SubArray erstellt wurde)
Delphi-Quellcode:
MyArr[i]

MyArr[i div 1000, i mod 1000]
[add]
Length würde dann etwa so aussehn
Delphi-Quellcode:
// für's normale Array
Length(MyArr)

// eine kleine Funktion für das gesplittete Array
function MyLength(var MyArr: ...): Integer;
begin
  Result := High(MyArr) * 1000 + Length(MyArr[High(MyArr)]);
end;
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat