I’m programming a module for ArcMap (ArcGIS 9.3) in Visual Basic (Visual studio 2005) realizing ITool interface. My task is to link it to ArcMap to reflect an icon on the Tools toolbar. The problem is the procedure of registration itself: ArcMap doesn’t see my module. Also it’s important to say that if the interface ICommand was realized in my module then there won’t be any problems with the registration in ArcMap. But I need interface ITool, so I have such type of problems.

More particularly, I have an instruction of performing the procedure of registration modules in ArcMap like this:

  1. Create a new ActiveX dll Visual Basic project.
  2. In the VB project, add reference to ESRI SystemUI, ESRI Framework, ESRI ArcMapUI Libraries.
  3. Paste this code into a class module.In the Resource Editor in VB, add a bitmap and give it an Id of 101.
  4. Also add a cursor and give it an Id of 102.
  5. Compile the project to create the dll.
  6. In the Customize dialog in ArcMap, click Add from file and navigate to the dll you just created. The custom tool will be added to ArcMap.
  7. In the Commands panel of the Customize dialog, select MyCustomTools in the Categories list. In the Commands list, select MyTool and drag it to a toolbar.
  8. Test the tool.

So, step 6 is the main difficulty.

  • From your steps, it looks like your creating a vb6 dll, not a VB.NET dll. Is that the case? May 17, 2012 at 12:37

1 Answer 1


I have some doubts on your Step 3:

3.Paste this code into a class module.

you cannot paste the code into any module. You need to delete the class1.vb file that existed there and then add a new base tool class using add class..

enter image description here

complete step-by-step instructions are given in the ESRI website for creating a custom tool in the below link..

Creating A Custom Tool

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.