AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Hab' ich das richtig verstanden mit DelphiCOM ?
Thema durchsuchen
Ansicht
Themen-Optionen

Hab' ich das richtig verstanden mit DelphiCOM ?

Ein Thema von Dezipaitor · begonnen am 10. Sep 2007 · letzter Beitrag vom 10. Sep 2007
 
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#2

Re: Hab' ich das richtig verstanden mit DelphiCOM ?

  Alt 10. Sep 2007, 21:23
Ja, aber immer daran denken was dazu führt, dass es überhaupt zur Referenzzählung kommt.
Interfaceinstanzen sollten IMMER als const übergeben werden. Diese werden dann kein _AddRef oder Release bekommen.
Es ist also problemlos möglich eine Objektreferenz per const an eine Methode zu übergeben ohne dass dir die Instanz unterm Hintern weg gemopst wird.
Außerdem musst du aufpassen wenn du eine 2-seitige Beziehung zwischen 2 Interfaces hast.
Wenn nicht speziell implementiert würden sich beide Referenzen ewig am Leben halten.
Du solltest dir in so einem Fall eine Hierarchie ausdenken: Einer von beiden besitzt den anderen.
Der Owner kann weiterhin eine Referenz auf den anderen halten, währen der andere nur einen Pointer als Feld bekommt.
Du kannst weiterhin eine Property vom Typen des Owners haben, aber das Feld sollte nur ein Pointer sein.

Oh und zurück zur eigentlichen Frage: Damit QueryInterface (und damit Type casts) funktioniert sollten ALLE Interfaces eine GUID haben. (Ctrl + Shift + G)
Robert Giesecke
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz