Danke für deine Mühe aber es funktioniert so nicht.
Die minus werte bis 0 ja aber der Rest beim neu Dimensionieren nicht.
Mir gehen die Daten von -5 > 0 verloren.
Theoretisch müsste es so funktionieren. Dann hast du irgendwo noch einen Fehler drin....
Nein kein Fehler.
Nochmal
Delphi-Quellcode:
if CreateBarIcon(sIconSearch, nFound) then
begin
inc(nCount);
gS.SetLen(nCount);
gS[nCount].y := nHeight;
gS[nCount].SCALE := SCALE_DEFAULT;
gS[nCount].opacity := 255;
sUseThumb := sTempPath + 'OTTB ' + IntToStr(nFound) + '.png';
gS[nCount].Bitmap := CreateDockIcon(sUseThumb, gS[nCount].w, gS[nCount].h);
DeleteFile(sUseThumb);
Wenn ein Icon gefunden wird ist CreateBarIcon true.
Danach wird nCount inkrementiert und die neue länge vom Array festgelegt.
nCount ist in diesen Fall 1 also > 0 trotzdem werden die anderen Arrays die drunter liegen gelöscht.
Ist auch logisch denn der Index eines Arrays fängt bei 0 an nicht bei -5 diese sind nur Virtuell.
gruss