Skip to main content
GameDev.net gamedev.net
🔒 Locked

ATL

Started by WizHarDx Jan 17, 2005 at 9:05 AM 1 replies 450+ views
Original Post
WizHarDx
WizHarDx
Hi im relatively new to COM+, ATL, ActiveX whatever all the buzz words are :) Anyway Ive created a in process dll in visual C++ 6.0 using ATL. I can integrate the dll easily in visual basic, by going Project|Refrences and its on the list so I check it and its all good. The problem is im using a database package called equinox and I can't integrate it b/c it doesn't come on the list. Now I don't expect any of you to have ever of heard of equinox so I did some research and reliased that the list that equinox shows is the same as the list on OLE Viewer, that ships with vc++ So ultimately my question is how to I get my ATL dll to appear on the OLE viewer? - Ive created ActiveX dlls in visual basic and it seems to register it with the OLE viewer database for you, so how do I do it with the ATL dll? Im sorry if I use the wrong jargon or whatever but I hope it is understandable. thanx in advance Iain Fraser
who is it that keeps on nicking WizHarD name !! :P
daerid
daerid
You have to register the type library with the system.

Usually, that means that you have to implement DllRegisterServer and have a GUID for your component/library.

Then, you call RegSvr32.exe "Path to your dll here"

There's a few more details you definitely should be aware of, but I am no means a master. I'd suggest you consult google.
daerid@gmail.com
WizHarDx
WizHarDx
thank-you for the response, also sorry about my ignorance ive been sorta thrown in the deep end by my boss to get this COM stuff working without having the ground knowledge of it.

Anyway, it seems that the type libary is all ready registred. I beleve CComModule::RegisterServer does this for me or the midl compiler (whatever its called). Anyway the reason I belive this is that when I look in OLE Viewer I noticed I could see it under the "Type Libaries" root.

But what I want ( I think ) is to have the dll registered under the

Object Classes - All Object -

Branch, I believe that equinox generates its listing by showing this.

I don't quite understand what a Object is in this context. But what I do know is that when you create an "ActiveX dll" project in visual basic it registers it in this branch. So how can I register my dll in this branch?

thanks again
Iain Fraser
who is it that keeps on nicking WizHarD name !! :P

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.