Ik zit met het probleem dat ik een access violation krijg (dus geheugen probeer aan te spreken wat eigenlijk niet mag).
Ik heb 2 variabelen voor speler gegevens (FOriginalPlayers en FOtherPlayers).
Nu kan het zo zijn dat ik of gebruik moet maken van FOriginalPlayers of FOtherPlayers. Er wordt daarom een procedure aangeroepen die bepaalt welke spelers aan de beurt zijn.
Binnen die procedure wordt dit uitgevoerd:
Vervolgens gebruik ik overal in het programma waar ik speler gegevens nodig heb de volgende functie:
Maar dit gaat dus op een of andere manier fout. Maar dat toekennen aan FPlayers, daar wordt er toch voor gezord dat FPlayers naar hetzelfde adres wijst als FOtherPlayers of FOriginalPlayers?
Ik heb 2 variabelen voor speler gegevens (FOriginalPlayers en FOtherPlayers).
Delphi:
1
2
3
4
5
6
| TPlayerArray = array[1..MAX_PLAYERS_SELECTION_LIST] of TPlayer; FOriginalPlayers: TPlayerArray; FOtherPlayers: TPlayerArray; FPlayers: TPlayerArray; |
Nu kan het zo zijn dat ik of gebruik moet maken van FOriginalPlayers of FOtherPlayers. Er wordt daarom een procedure aangeroepen die bepaalt welke spelers aan de beurt zijn.
Binnen die procedure wordt dit uitgevoerd:
Delphi:
1
2
3
4
5
6
7
8
| if (Andere spelers aan de beurt) then begin FPlayers := FOtherPlayers; end else begin FPlayers := FOriginalPlayers; end; |
Vervolgens gebruik ik overal in het programma waar ik speler gegevens nodig heb de volgende functie:
Delphi:
1
2
3
4
| function GetPlayers: TPlayerArray; begin Result := FPlayers; end; |
Maar dit gaat dus op een of andere manier fout. Maar dat toekennen aan FPlayers, daar wordt er toch voor gezord dat FPlayers naar hetzelfde adres wijst als FOtherPlayers of FOriginalPlayers?