Forum: Programmieren allgemein
Delphi
by himitsu,
30. Jan 2014
Stimmt, da hast du recht.
Wenn bei aktivem ARC die Interfacereferenzen ans ARC weitergeleitet werden,
dann müsste man ja bei allen Interfaces, welche "anders" zählen, ja das ARC deaktiviert werden.
So gesehn, wurde das dann doch falschrum implementiert, weil das ARC hätte besser seine Referenzen ans Interface weitergeben müssen? :?:
Toll, noch mehr zum Grübeln.
Mein Model für einen...
Forum: Programmieren allgemein
Delphi
by himitsu,
30. Jan 2014
Jetzt weiß ich wieder, warum ich erstmal davon ausging, daß sie selber zählen ... schonmal das "Wort" gelesen, ala hier irgendwer etwas über ARC schrieb.
Ein Blick in die Quellen war mir irgendwie zu teuer.
Ohhh, XE3 kennt das auch schon.
Ein bissl unpraktisch ist jetzt nur, daß die Vererbung immernoch nicht generisch funktioniert type TXyz<T> = class(T), sonst hätte Emba diese Funktion...
Forum: Programmieren allgemein
Delphi
by himitsu,
30. Jan 2014
Wenn die Beide das Selbe aufrufen, dann würde es gehn, also wenn es da nur eine Zählvariable gäbe.
Das hieße dann, daß die einfach aus jedem Objekt ein Interface machen?
Könnte natürlich auch sein, daß ARC selber zählt, also und unabhängig von den Interfaces.
Forum: Programmieren allgemein
Delphi
by himitsu,
30. Jan 2014
Nja, wenn die Objktreferenzen und die Interfacerferenzen beide mitzählen ... wer hat dann die Kontrolle über die Freigabe des Objekts?
Wenn da keiner aufpasst, müsste doch zwangsläufig der freigeben, welcher zuerst bei 0 ankommt.
Forum: Programmieren allgemein
Delphi
by himitsu,
29. Jan 2014
Das Problem ist jetzt nur, wie sich nun auch noch dieses komische ARC dort einmischt, bzw. wie Dieses die eh schon teilweise nicht ganz so einfache Verknüpfung von Objekt und interface beinflusst.
Forum: Programmieren allgemein
Delphi
by himitsu,
29. Jan 2014
Nur weil man einer Klasse ein Interface verpasst, bekommt die nicht automatisch eine Referenzzählung.
Die Referenzzählung muß nämlich "selber" implementiert werden, oder eben das, was man da haben möchte.
Das merkst du schnell wenn du einfach mal versuchst einem TObject das IInterface oder ein anderes Interface zuzuweisen, denn dann meckert der Compiler, du mögest doch bitte die fehlenden...
Forum: Programmieren allgemein
Delphi
by himitsu,
29. Jan 2014
Ausprobieren?
Aber warum sollte es das nicht? (abgesehn von dem vergessenen I)