Wenn ich das richtig sehe ist gS[Item] vom Typ TSprite.
Lass bitte bei Swap mal das var weg.
Also eher sowas:
Delphi-Quellcode:
procedure SWAP(Value1, Value2: TSprite);
var
lTemp: TSprite;
begin
lTemp := Value1;
Value1 := Value2;
Value2 := lTemp;
end;
Aufruf dann so:
SWAP(gS[FlagFound], gS[Item]);
Wenn's das auch nicht ist, sollte ich den Rechner ausschalten und mich auf's Ohr hauen

Ohne Var gibt es zumindest keinen Fehler muss das mal im Auge behalten.
Eigentlich ist gs schon vom Type TNegativeArray die TSprite Classe wird dort erst generiert.
Fdata : array of TSprite;
jetzt meldet er aber hier ohne Var Parameter
Zitat:
[DCC Hinweis] uGlobal.pas(144): H2077 Auf 'Value2' zugewiesener Wert wird niemals benutzt
[DCC Hinweis] uGlobal.pas(143): H2077 Auf 'Value1' zugewiesener Wert wird niemals benutzt
Ist auch logisch da nichts zurück gegeben wird.
Delphi-Quellcode:
procedure SWAP(Value1, Value2: TSprite);
var
lTemp: TSprite;
begin
lTemp := Value1;
Value1 := Value2;
Value2 := lTemp;
end;
Schalte ich den Var Parameter wieder ein kommt diese Meldung
Zitat:
[DCC Fehler] uMain.pas(1588): E2197 Konstantenobjekt kann nicht als Var-Parameter weitergegeben werden
usw..
gruss