The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

Are you looking to create COM components (that are instanted with CreateObject) or a client side ActiveX control? (I am confused as you say 'to use in ASP')

In either case, although you can use other languages, the most suitable is C++. If you don't already know this, I think few would be willing to offer to guide you through for free. Best google for a few tutorials and get the hang of C++ first.
Good free C++ compilers are available from Borland (Free Command Line tools 5.5), Microsoft (Visual C++ Toolkit 2003) or the MingW project (I dont have much experience with this though) to get you started.
Once you know C++ you could use ATL (with a little persuasion in non-MS compilers).
Visual Studio and Borland C++ Builder have wizards for creating skeletons for you but they cost £££s.

I think you should choose a language for your component depending on the language you use in ASP. If you're using javascript, use C++ since the syntax is similar. If you're using vbscript, use Visual Basic. This will just make it easier on ya.

My first question is... What functionality are you looking for from your component?

You'll need to register a component on the server before using it and this could cause some trouble if it isn't your server. A method that doesnt require registration is through the use Windows Script Host components. Here's some info about different components: http://www.asp101.com/articles/wrox/2882/28820104.asp