Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#21

AW: array of record sortieren

  Alt 8. Dez 2020, 23:44
Neues Problem das nur unter 32Bit auftritt.

Zitat:
Exception:
------------------------------------------------------------------------------------
2.2 Address: 0263A332
2.5 Type : EBufferOverflowError
2.6 Message: Application has corrupted the memory: $0E663DE0 ARRAY [?] 5128 bytes.
2.7 ID : 40060000
2.11 Sent : 0

Call Stack Information:
----------------------------------------------------------------------------------------------------------------------------------------
|Methods |Details|Stack |Address |Module |Offset |Unit |Class |Procedure/Method |Line |
----------------------------------------------------------------------------------------------------------------------------------------
|*Exception Thread: ID=9580; Parent=0; Priority=0 |
|Class=; Name=MAIN |
|DeadLock=0; Wait Chain= |
|Comment= |
|--------------------------------------------------------------------------------------------------------------------------------------|
|7FFFFFFE|03 |00000000|0263A337|SK_Aero.dll |0000A337|System | |_DynArrayClear | |
|00000020|04 |0019E490|0281B1B8|SK_Aero.dll |001EB1B8|uListView|TSkinListView|SortItems |1858[38] |
|00000020|04 |0019E6CC|02819C37|SK_Aero.dll |001E9C37|uListView|TSkinListView|ListViewProc |1270[40] |
|00000020|04 |0019E9DC|0281783B|SK_Aero.dll |001E783B|uListView|TSkinListView|ClientWndProc |292[18] |
In der Funktion.

Delphi-Quellcode:

    SetLength(lItemsInfoArray, length(ItemsInfo));

    for i := High(ItemsInfo) downto Low(ItemsInfo) do
      begin
        j := StringList.IndexOf(ItemsInfo[i].IdentStr);
        if j >= 0 then
          begin
            lItemsInfoArray[j] := ItemsInfo[i];
            StringList[j] := 'Vorhanden';
          end;
      end;

      for i := High(lItemsInfoArray) downto Low(lItemsInfoArray) do
        ItemsInfo[i] := lItemsInfoArray[i];
selber code unter 64Bit läuft einwandfrei.

Kommentiere ich ihn aus läuft alles nur nicht mehr sortiert.


Hmm..

Geändert von venice2 ( 9. Dez 2020 um 04:22 Uhr)
  Mit Zitat antworten Zitat