Man kann zwar mehrere verschiedene benannte Destruktoren deklarieren, das hilft aber nichts, weil Free immer nur einen ganz bestimmten aufruft. Wozu haben wir denn unser schönes Benennungsfeature?
Ein Klasse kann grundsätzlich nur einen Destruktor haben.
Es mag verschiedene Arten geben ein Objekt zu erzeugen aber es gibt nur eine Art es zu zerstören.
Das gilt
IMHO für alle OO Programmiersprachen.
In Delpi muss der Destruktor immer so deklariert werden:
destructor Destroy;override;
Jeder Abweichung von dieser Deklaration führt zu einem nicht funktionierenden Destruktor.