Hallo und ehrzlich Willkommen!
Zu Deinem Quelltext gbt es einiges anzumerken. Erstens sehe ich nicht, wo Du eine Instanz von TSupermari erstellst. Du deklarierst zwar eine Variable, aber das war es dann auch schon.
Zweitens, Du verwendest in der Implementation Deiner Klasse eine globale Variable der TForm-Klasse. Sowas macht man nicht. Erstelle einen Konstruktor, dem Du das TImage als Argument übergibst, speichere dieses in einer privaten Variable der Klasse und benutze dann diese.
Drittens ist es oft übersichtlicher, eigene Klassen in einer separaten
Unit zu deklarieren. Schließlich ist die
Unit mit dem Form nur zur Darstellung des Programms gedacht. Die Logik sollte hiervon getrennt werden.
Gruß
xaromz