Click here to Skip to main content
15,898,708 members
Home / Discussions / C#
   

C#

 
GeneralRe: Beginner in C# Pin
tasumisra10-Dec-07 19:21
tasumisra10-Dec-07 19:21 
GeneralRe: Beginner in C# Pin
N a v a n e e t h10-Dec-07 19:45
N a v a n e e t h10-Dec-07 19:45 
GeneralRe: Beginner in C# Pin
tasumisra10-Dec-07 19:52
tasumisra10-Dec-07 19:52 
GeneralRe: Beginner in C# Pin
Abhijit Jana10-Dec-07 19:47
professionalAbhijit Jana10-Dec-07 19:47 
QuestionWhat would cause a COM object to lose its RCW? Pin
JoeRip10-Dec-07 14:17
JoeRip10-Dec-07 14:17 
AnswerRe: What would cause a COM object to lose its RCW? Pin
TJoe10-Dec-07 17:24
TJoe10-Dec-07 17:24 
GeneralRe: What would cause a COM object to lose its RCW? Pin
JoeRip10-Dec-07 21:37
JoeRip10-Dec-07 21:37 
GeneralRe: What would cause a COM object to lose its RCW? Pin
TJoe11-Dec-07 2:11
TJoe11-Dec-07 2:11 
In the code:

TrackObject myTrack = GetTrackObject();
TrackObject mySecondTrack = myTrack;


There are really 2 objects: the .Net object and the COM object. The .Net object is referenced by myTrack and mySecondTrack, so it will only be garbage collected with both variables go out of scope.

If you cast the Object to a different type, it will still reference the same .Net object. So in this code:

TrackObject myTrack = GetTrackObject();
FileBasedTrackObject mySecondTrack = (FileBasedTrackObject)myTrack;


There are still only 2 objects. The only difference is that mySecondTrack now references the underlying .Net object through the eyes of the FileBasedTrackObject type.

Since there are only ever 2 objects, if you release the COM object referenced by myTrack then mySecondTrack is also released. Because it references the same .Net object (which in turn refereneced the COM object).

Take care,
Tom

-----------------------------------------------
Check out my blog at http://tjoe.wordpress.com

GeneralCOM in c# [modified] Pin
Dromar10-Dec-07 12:30
Dromar10-Dec-07 12:30 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 13:21
sitebuilderLuc Pattyn10-Dec-07 13:21 
GeneralRe: COM in c# Pin
JoeRip10-Dec-07 14:01
JoeRip10-Dec-07 14:01 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 14:11
sitebuilderLuc Pattyn10-Dec-07 14:11 
GeneralRe: COM in c# Pin
Anthony Mushrow10-Dec-07 14:41
professionalAnthony Mushrow10-Dec-07 14:41 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 14:45
sitebuilderLuc Pattyn10-Dec-07 14:45 
GeneralRe: COM in c# Pin
Anthony Mushrow10-Dec-07 14:51
professionalAnthony Mushrow10-Dec-07 14:51 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 15:42
sitebuilderLuc Pattyn10-Dec-07 15:42 
GeneralRe: COM in c# Pin
Dromar10-Dec-07 14:31
Dromar10-Dec-07 14:31 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 14:42
sitebuilderLuc Pattyn10-Dec-07 14:42 
GeneralRe: COM in c# Pin
Dromar10-Dec-07 15:42
Dromar10-Dec-07 15:42 
GeneralRe: COM in c# Pin
Luc Pattyn10-Dec-07 15:47
sitebuilderLuc Pattyn10-Dec-07 15:47 
QuestionHow to open-with a file using my application ? Pin
ZHM10-Dec-07 11:20
ZHM10-Dec-07 11:20 
GeneralRe: How to open-with a file using my application ? Pin
Luc Pattyn10-Dec-07 11:59
sitebuilderLuc Pattyn10-Dec-07 11:59 
GeneralRe: How to open-with a file using my application ? Pin
Ian Uy10-Dec-07 20:05
Ian Uy10-Dec-07 20:05 
GeneralCreating a Sound(say, a Beep) Pin
polishprogrammer10-Dec-07 11:14
polishprogrammer10-Dec-07 11:14 
GeneralRe: Creating a Sound(say, a Beep) Pin
Ravi Bhavnani10-Dec-07 11:18
professionalRavi Bhavnani10-Dec-07 11:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.