Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#1

Dynamisches 2 Dimensionales Array problem

  Alt 15. Feb 2017, 23:06
Mein Array.

Delphi-Quellcode:
var
  ImgIcon: array of array of Cardinal;
Delphi-Quellcode:
procedure TSkinListView.SetItemIcon(nItem, nSubItem: Integer; wsItems: WideString);
var
  fi: TSHFileInfo;
  Item, SubItem: Integer;
begin

  ZeroMemory(@fi,sizeof(TSHFileInfo));
  if SHGetFileInfo(PWideChar(wsItems), 0, fi, sizeof(TSHFileInfo),
    SHGFI_ICON or SHGFI_SYSICONINDEX or SHGFI_TYPENAME) <> 0 then
  begin
    SetLength(ImgIcon, nItem + 1, nSubItem + 1);
    ImgIcon[nItem, nSubItem] := fi.hIcon;

  end;
end;
Ein Eintrag sieht dann so aus.

1 Eintrag (0, 0, 12345).
2 Eintrag (0, 0, 54321).

Das Problem wenn ich nun gegenprüfe.

Delphi-Quellcode:
if ImgIcon[(Item + 1), HeaderItem] <> 0 then
begin
Dann ist auch bei HeaderItem = 3 die Bedingung true obwohl ich als Subitem immer 2 addiert habe.

Wie kann es also sein das die Bedingung dann trotzdem erfüllt wird.
Warum wird hier nicht das Item und SubItem addiert?

also
1 Eintrag (1, 2, 12345).
2 Eintrag (2, 2, 54321).

gruss

Geändert von EWeiss (16. Feb 2017 um 02:38 Uhr)
  Mit Zitat antworten Zitat