![]() |
AW: die aufzurufende funktion wurde vom linker entfernt
Zitat:
Danke. gruss |
AW: die aufzurufende funktion wurde vom linker entfernt
Noch ein paar kleine Änderungen damit die Classe flexibel bleibt.
Rückgabe NIL addiert falls was schief läuft.
Delphi-Quellcode:
create verändert keine festen werte mehr zuweisen.
function TNegativeArray.getData(index: Integer): TSprite;
var idx : Integer; begin result := nil; if ((index <= 0) or ((index > 0) and (Length(Fdata) > FMaxDefault ))) then begin idx := self.MappIndex(index); result := fdata[idx]; end; end;
Delphi-Quellcode:
Der Rest im Anhang.
constructor TNegativeArray.Create(aLenght: Integer; MaxDefault: Integer);
var i: Integer; begin FMaxDefault := MaxDefault; MaxValue := IIF(aLenght > FMaxDefault, aLenght, 0); SetLength(FData, aLenght); for I := 0 to aLenght do FData[i] := TSprite.Create; end; gruss |
AW: die aufzurufende funktion wurde vom linker entfernt
Noch eine Änderung.
Delphi-Quellcode:
MaxValue muss hier aktualisiert werden.
procedure TNegativeArray.SetLen(Len: Integer);
var oldidx,i : Integer; begin if ((Len + FMaxDefault) > Length(Fdata)) then begin //alte Länge = 1. neuer Index nach der vergrößerung oldidx := Length(Fdata); //Neue Länge (len = 1 entspricht neue größe 7 elemente also -5 bis 1 SetLength(fData, Len + FMaxDefault); for i := oldidx to Length(Fdata)-1 do begin fdata[i] := TSprite.Create; MaxValue := IIF(i > (FMaxDefault - 1), (i - (FMaxDefault - 1)), 0); end; end; end; Das ist deshalb wichtig weil alle Bitmaps > 0 (Icons) vorher gelöscht werden müssen.
Delphi-Quellcode:
gruss
if gS.MaxValue > 0 then
begin for K := 1 to gS.MaxValue do begin if gS[K].Bitmap <> 0 then begin DeleteObject(gS[K].Bitmap); gS[K].Bitmap := 0; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz