AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Alter Classe neue zuweisen

Ein Thema von EWeiss · begonnen am 8. Mai 2017 · letzter Beitrag vom 11. Mai 2017
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 00:31
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
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

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
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 00:44
Du willst aber doch zwei Elemente aus gS vertauschen (die Elemente mit Index FlagFound und Index Item), also zwei TSprite und nicht zwei TNegativeArray.

In gS[FlagFound] soll sich anschließend gS[Item] befinden und in gS[Item] soll sich gS[FlagFound] befinden.

Oder hab' ich da was noch nicht recht verstanden.

Liege ich falsch, beschreib' bitte mal verbal, was Du erledigen möchtest. Eventuell kommen wir dann weiter.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 00:50
Nein Zwei identische classen TNegativeArray

definiert als
gs: TNegativeArray;

die TSprite Classen werden in der Classe TNegativeArray erstellt.

Fdata : array of TSprite;

ich möchte jetzt gs einen neuen Index "Item" zu weisen von der Classe TSprite.
Die dann alle Eigenschaften von der Classe TNegativeArray und des Arrays von TSprite enthält.

gruss
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#5

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 01:04
Du definierst
Delphi-Quellcode:
var
  gs: TNegativeArray;
Im Eingangspost schriebst Du gS[FlagFound] := gS[Item];
Das bedeutet meiner Meinung nach, dass Du zwei Elemente des TNegativeArray gS vertauschen möchtest.

Stimmt das, oder bin ich gerade auf dem Holzweg?

TNegativeArray enthält doch (glaub' ich) 1 bis n Elemente der Klasse TSprite.

Oder ist es andersherum, dass TSprite eine Array ist, dass Elemente der Klasse TNegativeArray enthält?
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 01:16
Zitat:
TNegativeArray enthält doch (glaub' ich) 1 bis n Elemente der Klasse TSprite.
Richtig so ist es.

gS[FlagFound] := gS[Item];

gs soll vertauscht werden damit der Inhalt von gs[Item] im gS[FlagFound] enthalten ist.
vorher kann ich den Index FlagFound nicht durch den von Item ersetzen.

gruss
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#7

AW: Alter Classe neue zuweisen

  Alt 9. Mai 2017, 01:26
Das TSprite aus gS[FlagFound] soll sich also nachher in gS[Item] befinden und das aus gS[Item] in gS[FlagFound].

Meiner Meinung nach müsste das mit dem Vorschlag aus Post #5 funktionieren.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:41 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-2025 by Thomas Breitkreuz