Autor Beitrag
knittel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 71
Erhaltene Danke: 2

Win XP, Win7, openSUSE
Delphi 7
BeitragVerfasst: So 06.03.11 15:13 
Hallo allerseits,
Ich habe ein Problem im Zusammenhand mit pointern und der TObjectList. Denn ich rufe in dem constructor einer Einheit folgendes auf:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
constructor TZRessourceUnit.CreateConnect(ConnectedTo, Team, AtX, AtY: cardinal);
begin
[...]
FConnected := @ListOfUnits.Items[ConnectedTo];


In ConnectedTo übergebe ich den index des objekts mit dem diese einheit verbunden werden soll. FConnected ist vom Typ ^TGameObject und alle Einheiten in der TObjectList sind TGameObjects. Allerdings gibt Delphi die Fehlermeldung: "Variable Required".
Ich hab den error mal gegoogelt und da heisst es, dass man den @-operator nur auf variablen und nicht auf konstanten wie "1" oder "37" setzen kann. Allerdings ist ja ListOfUnits.Items[ConnectedTo] eine Variable. Ich habe es auch schon mit @ListOfUnits.Last probiert. Er gibt immer die selbe Fehlermeldung.

Danke im voraus;

_________________
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 06.03.11 15:49 
Items ist eine Eigenschaft. ;-)
knittel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 71
Erhaltene Danke: 2

Win XP, Win7, openSUSE
Delphi 7
BeitragVerfasst: Mo 07.03.11 11:26 
Aber wie schaffe ich es dann, dass er auf ein gewisses Objekt einer Objektliste zeigt?

_________________
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 07.03.11 11:41 
Ohne das @. Ein Objekt ist bereits ein Zeiger. Das @ brauchst du, wenn du einen Zeiger auf die Adresse brauchst, an der der Zeiger auf das Objekt liegt...
knittel Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 71
Erhaltene Danke: 2

Win XP, Win7, openSUSE
Delphi 7
BeitragVerfasst: Mo 07.03.11 12:03 
ja. stimmt. wieso bin ich darauf nicht selbst gekommen?
Danke. :)

---Moderiert von user profile iconNarses: Beiträge zusammengefasst---

jetzt erhalte ich die fehlermeldung:
Inkompatible typen: "Tobject" and "pointer"

_________________
"Wir können nicht fliehen!" "Wieso nicht?" "Sie haben mir die Schnürsenkel zusammengebunden!" "Die Schweine."
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 07.03.11 12:21 
Dann hast du vergessen beim Typ deiner Variable bzw. deines Felds den Pointeroperator ^ zu entfernen.