024
30.05.2003, 22:48 Uhr
~0xdeadbeef
Gast
|
Jepp, du musst die Referenzen von Hand zählen. Das ist übrigens wieder was, was ziemlich nervt - wenn ich das Speicherhandling nicht API-intern machen kann, kann ich auch gleich C programmieren, aber das nur am Rande.
Was COM macht ist folgendes: Du hast ein Objekt im Speicher liegen, dass über einen CORBA-artigen Orb Interfaces verteilt, also Objekte, die einen Pointer auf das eigentliche Objekt beinhalten. Idealerweise sollte das so laufen, dass in dem Moment, in dem die letzte Referenz auf das Objekt gelöscht wirdm auch das Objekt aus dem Speicher gehauen wird. Das musst du beim MS-API von Hand machen, mit AddRef und der entsprechenden anderen Methode - DelRef oder so, das weiß ich grad nicht auswendig. Frag mich nicht, warum sie das nicht über Kon- und Destruktoren gemacht haben, wie es OO-technisch sinnvoll gewesen wäre, aber so läuft das halt. Verdammt, jetzt könnte ich das 'Ich kotze'-Emoticon gebrauchen. Naja, vielleicht wird ja irgendwann der Shortcut, den ich vorgeschlagen habe, übernommen, also:
:O= |