Deine letzte Aussage ist widersprüchlich. Sobald du es in eine Funktion auslagerst - wobei eine Funktion <> Prozess (
Win32 Prozess?) - musst du nur die Funktion mit den Shape Parametern aufrufen und prüfen, ob die Funktion als Rückgabewert True liefert (in diesem Fall).
Dadurch musst du das ganze nicht für jedes Shapeobjekt konkret ausprogrammieren, sondern kannst es abstrakt für alle Shapes machen und es dann bei beliebig vielen Shapes ausführen.
Am besten wäre es an diesem Punkt zu lernen, was bzw. wie Functions/Procedures in Delphi funktionieren. Ich bin ein totaler Anfänger ist keine Entschuldigung, informiere dich darüber!