Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 00:37
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

Geändert von EWeiss ( 9. Mai 2017 um 00:45 Uhr)
  Mit Zitat antworten Zitat