[ PeraKojotSuperGenije @ 09.01.2005. 18:01 ] @
Imam klasu TGame i TPawn. Konstruktor za TPawn izgleda ovako: Code: TPawn.Create(game: PTGame); begin ... myGame:=game; ... end; gde je PTGame = ^TGame, a myGame: PTGame polje klase TPawn. TGame ima polje board tipa PTBoard = ^TBoard, kao i pawn: PTPawn = ^TPawn. Pri pozivanju funkcije myGame.board.funkcija iz neke od metoda klase TPawn, javlja se greska EAccessViolation. Pre nego sto se poziva TPawn.Create poziva se konstruktor TGame.Create. Takodje se pre poziva TPawn.Create poziva konstruktor TBoard.Create. TPawn.Create se poziva iz jedne od metoda TGame ovako Code: procedure TGame.Metoda; begin ... new(pawn); pawn^:=TPawn.Create(@self, i); ... end; U cemu je greska? |