@himitsu
ich sehe noch nicht was das helfen soll
Delphi-Quellcode:
var
b:TButton;
hc:Integer;
begin
b := Button2;
hc := b.GetHashCode;
Caption := IntToStr(Integer(b)) + '-'+IntToStr(Integer(Button2)) + '-'+IntToStr(hc);
FreeAndNil(Button2);
Showmessage(IntToStr(Integer(b)) + '-'+IntToStr(Integer(Button2)) + '-'+IntToStr(hc));
Showmessage(IntToStr(b.GetHashCode));// das hier müsste eigentlich schon knallen
end;
Wenn statt dessen über einen Zwischenzeiger, der über eine Nummer/
GUID was auch immer im Manager, das kann durchaus eine Liste(Anrede,Objektzeiger), angesprochen und geprüft wird, die Einträge dort vom Objekt beim Erzeugen/Vernichten hinzugefügt/entfernt werden kann so etwas nicht passieren.
@stahli
Die Owner/Parent was auch immer Struktur bräuchte
IMHO nicht verändert werden, in Deinem sp:TSpieler müsste einfach transparent die Managernummer abgelegt werden, alle Zugriffe müssten dann ebenfalls transparent über den Manager abgewickelt werden. Das wäre ein kompletter Sprachumbau, könnte dann aber völlig transparent wie bisher laufen. Zugriffe wie @MySpieler.Irgendwas würden dann freilich nicht mehr funktionieren.