T
tuxedo
Gast
Hallo,
ich steh grad mal wieder ein wenig auf dem Schlauch und brauche einen Denkanstoß ...
Ich habe eine Abstrakte Klasse, nennen wir sie "AbstractClass".
Von dieser Abstrakten Klasse gibts diverse Geschmacksrichtungen: ClassA, ClassB, ClassC, ....
Da ClassA, ClassB, ClassC, ... allesamt über die "AbstractClass" klasse auf native Komponenten zugreifen, welche ein explizites "release" etc. erfodern (um kein Speicher/Handle/GDI leak zu produzieren), möchte ich nun eine Art "reference counting" einführen.
Dazu inkrementiere ich in der AbstractClass im Konstruktor einen statischen Zähler, und dekrementiere ihn in der release-methode wieder. Mittels logging seh ich dann, ob ich alles sauber released habe oder nicht.
Jetzt will auch aber noch wissen welche Instanz ich eventuell NICHT released habe. Gibt es eine einfache Methode wie ich innerhalb der AbstractClass-Klasse an den Namen der Klasse komme, die von AbstractClass erbt? Sprich: ClassA, ClassB, ... ????
Im Prinzip das umgekerhte von: Wie komme ich an den Namen der Super-Klasse.
Das einzige das mir derzeit einfällt ist über den Stacktrace. Aber das ist wohl nicht ganz unkritisch wenn es um gutes Timing geht...
- Alex
ich steh grad mal wieder ein wenig auf dem Schlauch und brauche einen Denkanstoß ...
Ich habe eine Abstrakte Klasse, nennen wir sie "AbstractClass".
Von dieser Abstrakten Klasse gibts diverse Geschmacksrichtungen: ClassA, ClassB, ClassC, ....
Da ClassA, ClassB, ClassC, ... allesamt über die "AbstractClass" klasse auf native Komponenten zugreifen, welche ein explizites "release" etc. erfodern (um kein Speicher/Handle/GDI leak zu produzieren), möchte ich nun eine Art "reference counting" einführen.
Dazu inkrementiere ich in der AbstractClass im Konstruktor einen statischen Zähler, und dekrementiere ihn in der release-methode wieder. Mittels logging seh ich dann, ob ich alles sauber released habe oder nicht.
Jetzt will auch aber noch wissen welche Instanz ich eventuell NICHT released habe. Gibt es eine einfache Methode wie ich innerhalb der AbstractClass-Klasse an den Namen der Klasse komme, die von AbstractClass erbt? Sprich: ClassA, ClassB, ... ????
Im Prinzip das umgekerhte von: Wie komme ich an den Namen der Super-Klasse.
Das einzige das mir derzeit einfällt ist über den Stacktrace. Aber das ist wohl nicht ganz unkritisch wenn es um gutes Timing geht...
- Alex