Click here to Skip to main content
15,910,277 members
Home / Discussions / COM
   

COM

 
QuestionWord automation problem with C++ Pin
panzerdivisionmarkus24-Nov-05 1:47
panzerdivisionmarkus24-Nov-05 1:47 
AnswerRe: Word automation problem with C++ Pin
JonEngle6-Dec-05 18:55
JonEngle6-Dec-05 18:55 
QuestionHow to pass a object of a .NET user defined type to a COM in VC++? Pin
Diana Fernandez23-Nov-05 18:09
Diana Fernandez23-Nov-05 18:09 
AnswerRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Gizzo24-Nov-05 6:11
Gizzo24-Nov-05 6:11 
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Diana Fernandez24-Nov-05 20:11
Diana Fernandez24-Nov-05 20:11 
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Gizzo24-Nov-05 21:25
Gizzo24-Nov-05 21:25 
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Diana Fernandez24-Nov-05 22:43
Diana Fernandez24-Nov-05 22:43 
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Gizzo24-Nov-05 23:12
Gizzo24-Nov-05 23:12 
Diana Fernandez wrote:
I think the QueryInterface is giving me a new pointer to IClass1


I don't think so. What QueryInterface does is basically a casting. An implementation example could be:

HRESULT CClass1::QueryInterface(REFIID riid, void** ppvObject)<br />
{<br />
if(riid == IID_IUnknown)<br />
  *ppvObject = reinterpret_cast<IUnknown*>(this);<br />
else if(riid == IID_IDispatch)<br />
  *ppvObject = reinterpret_cast<IDispatch*>(this);<br />
else if(riid == IID_IClass1)<br />
  *ppvObject = static_cast<IClass1*>(this);<br />
else<br />
{<br />
  *ppvObject = NULL;<br />
  return E_NOINTERFACE;<br />
}<br />
<br />
  AddRef();<br />
  return S_OK;<br />
}


So, when you call QueryInterface, the object returns a pointer to the requested interface, but the object is the same. You say that the members remains undefined. Well, maybe the object wasn't initialized properly, but is should be the same object.

Regards.

-- modified at 5:15 Friday 25th November, 2005
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Jörgen Sigvardsson25-Nov-05 9:04
Jörgen Sigvardsson25-Nov-05 9:04 
GeneralRe: How to pass a object of a .NET user defined type to a COM in VC++? Pin
Diana Fernandez27-Nov-05 18:48
Diana Fernandez27-Nov-05 18:48 
QuestionOleRun freezes Pin
WernerP23-Nov-05 1:42
WernerP23-Nov-05 1:42 
QuestionShell Extensions in win2003 64-bit Pin
ragavan22-Nov-05 22:08
ragavan22-Nov-05 22:08 
Questionm_hWnd is missing while using the ActiveX Pin
Maddie from Dartford22-Nov-05 19:37
Maddie from Dartford22-Nov-05 19:37 
QuestionPass javascript function to ActiveX member in C# Pin
write_to_billy20-Nov-05 20:19
write_to_billy20-Nov-05 20:19 
QuestionActiveX DLL --Print Web Page Pin
Rajkamal_dfine17-Nov-05 18:31
Rajkamal_dfine17-Nov-05 18:31 
QuestionPassing events from activex control property page to control Pin
Ashwin kumar Gurujala16-Nov-05 19:36
Ashwin kumar Gurujala16-Nov-05 19:36 
QuestionOLE_COLOR property is not getting reflected Pin
Maddie from Dartford15-Nov-05 2:44
Maddie from Dartford15-Nov-05 2:44 
QuestionActiveX without a container Pin
Ahsan Askare14-Nov-05 23:30
Ahsan Askare14-Nov-05 23:30 
AnswerRe: ActiveX without a container Pin
Roger Stoltz22-Nov-05 11:33
Roger Stoltz22-Nov-05 11:33 
QuestionActiveX control and HTML Pin
FJK12-Nov-05 18:39
FJK12-Nov-05 18:39 
QuestionNew to COM. Help needed. Pin
Owner drawn10-Nov-05 23:49
Owner drawn10-Nov-05 23:49 
AnswerRe: New to COM. Help needed. Pin
Gizzo11-Nov-05 6:33
Gizzo11-Nov-05 6:33 
AnswerRe: New to COM. Help needed. Pin
Brian C Hart30-Dec-05 23:25
professionalBrian C Hart30-Dec-05 23:25 
Questioncreating a BSTR with embedded Nulls Pin
amitsax7610-Nov-05 22:31
amitsax7610-Nov-05 22:31 
AnswerRe: creating a BSTR with embedded Nulls Pin
Welf Wiest31-Jan-06 5:06
Welf Wiest31-Jan-06 5:06 

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.