Не совсем из-за рекурсии, вернее, совсем не из-за нее. Решил ответить, т.к. неправильное понимание ситации может привести к плачевным последствиям.
Если ваша форма единственная, то правильнее объявлять переменные PlayerSprite1 и PlayerSprite2 в классе формы, а не на глобальном уровне. Чтобы владельцем этих переменных была форма. Тогда становится ясно почему обращение к PlayerSprite1.Image в классе TPlayerSprite1 не может иметь место - компилятор тут же даст ошибку, т.к. область видимости переменной PlayerSprite1 ограничена классом TMainForm и из класса TPlayerSprite1 обращение к такой переменной может быть только через квалификатор: MainForm.PlayerSprite1, да и то, если переменная объявлена в секции public класса TMainForm.
__________________
Не забывайте делать резервные копии
|