Can someone explain the Iunknown and Idispatch interfaces to me?

Posted on 2004-04-01
Last Modified: 2013-11-25
In regards to visual basic, I would appreciate it if someone can explain these two interfaces to me...
I must communicate with a program and in the dev. manual it say's my program needs to implement these interfaces..But I don't really understand they're role

Thank you
Question by:EnolaKotrotsos
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
  • 2
  • +1
LVL 13

Accepted Solution

crazyman earned 250 total points
ID: 10732197

Expert Comment

ID: 10732225
They are base classes for ActiveX or OLE. IDispatch is the interface used for all COM objects, IUnknown is the base class for all OLE/Com/ActiveX components

You won't usually need to worry about these if youre communicating with a program that supports them, just create the class using createobject (or add it to your references and create using dim x as new class.class1)

What is the program you're looking at ?

Author Comment

ID: 10732334
a messagebroker of somesorts...I need to connect with it (and it needs to connect with my program)...

It states in the manual that my program needs to be able to implement these...I take it that
dimx as new means the same?

So, when it say's 'your program needs to be able to be able to implement IDispatch and IUnknown'  It means I need to be able to call an interface?

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

LVL 13

Expert Comment

ID: 10732358
It means that you objects must implement these interfaces, and by default VB will...
LVL 28

Expert Comment

ID: 10737453
Any OLE based applications support these interfaces. VB is OLE based application...
LVL 28

Expert Comment

ID: 10737463
PS. You don't even need worry about this. Just go to VB menu->Project->References->browse for external dll and choose this dll.
After this open ObjectBrowser (F2) and see all methods/properties of this dll.

Author Comment

ID: 10740105
thank you all for your time...crazyman, that was a very informative link you've send.
kind regards,

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA.…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question