Ich setze mich diese Tage nun endlich darn, Interfaces in Delphi zu verstehen. Ich habe das Gefühl, die automatische Referenzzählung wird all meine Probleme auf wundersame Art und Weise lösen.
Nun folgendes: Voller begeisterung lese ich von
Weak References die nicht zum Referenzzähler beitragen. Das Beispiel erinnert übrigens frappierend an unser
kürzliches Abenteuer mit zirkular referenzierten und gestohlenen Hunden. Obwohl der Compiler nicht meckert, wenn ich ein Feld mit
[weak]
bzw.
[WeakAttribute]
"tagge", ist die Referenz leider so gar nicht schwach: Sie trägt weiterhin zur Referenzzählung bei. Nicht weiter überraschend, denn die Doku sagt ja auch ausdrücklich
Zitat:
[...] use the [weak] attribute, supported by the Delphi mobile compilers.
Hat jemand auf die Schnelle einen Tipp, wo man ansetzen müsste, um es auf dem "CurrentGen"-Compiler zu erreichen? Außer vielleicht die Referenz schlichtweg als
Pointer
zu deklarieren?
Oder weiß man, ob man auch auf dem
Win32-Desktop in absehbarer Zeit in den Genuss von
[weak]
kommen wird?
Übrigens: Ein toller
Beitrag von Allen Bauer zum Thema ARC von vor ein paar Wochen. Mit reichlich Diskussion. Über dem werde ich das Wochenende hängen