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

COM

 
QuestionMFC DLL with automation in VC++ .NET 2003 Pin
Mila02510-Jan-06 19:53
Mila02510-Jan-06 19:53 
QuestionATL-Objects can't have multiple instances Pin
hvse10-Jan-06 0:02
hvse10-Jan-06 0:02 
AnswerRe: ATL-Objects can't have multiple instances Pin
Stephen Hewitt10-Jan-06 12:03
Stephen Hewitt10-Jan-06 12:03 
QuestionDrag and Drop Pin
Anil_vvs9-Jan-06 23:36
Anil_vvs9-Jan-06 23:36 
QuestionCOM Interdependency Pin
msumit8-Jan-06 16:46
msumit8-Jan-06 16:46 
AnswerRe: COM Interdependency Pin
Stephen Hewitt10-Jan-06 12:05
Stephen Hewitt10-Jan-06 12:05 
GeneralRe: COM Interdependency Pin
msumit12-Jan-06 7:46
msumit12-Jan-06 7:46 
AnswerRe: COM Interdependency Pin
Roger Stoltz12-Jan-06 22:05
Roger Stoltz12-Jan-06 22:05 
Hi Sumit.

msumit wrote:
Is there any way to sort this out


The short answer for this is simply "No, you have to rebuild".
The reason is that if there is an interface change the virtual table for the interface will change as well. If you don't use the correct virtual table you will "jump" to the wrong address when calling an interface function.

On the other hand, one of the corner stones of COM is never to change a distributed interface. You haven't provided enough information about your situation but I assume that the interfaces you are using are under construction and has not been completely specified yet and therefore, I hope, are distributed to a very small, controllable environment. Otherwise you will end up having a situation where you have clients that are incompatible with their servers among your end users and they won't be very happy about that. Wink | ;)

Most software that are "kept alive" will usually need some kind of improvement. These improvements could be new functionality through COM interfaces. If this is the case, changing existing interfaces would break the "contract" between the server and its client(s) and the client(s) will not function properly. The symptoms will vary depending on the interface changes.
The correct solution would be to create new interface(s) for the new functionality and also not to make the interfaces too complicated and large. A guideline would be to consider splitting an interface if it contains more than 20 functions. It's a design issue.
Sometimes an original interface require modification. In that case you usually create a new version of the interface appending a number to the interface name and assign a new GUID for it in order not to break the contract between the server and its clients.
Have a look in OLE/COM viewer and you will see interfaces such as IViewObject and IViewObject2. New clients should use the IViewObject2 interface in this case and old clients would continue to use the IViewObject interface like nothing happened even if a server with the new IViewObject2 interface is distributed.

Hope this helps
--
Roger


It's supposed to be hard, otherwise anybody could do it!
AnswerRe: COM Interdependency Pin
Skond20-Jan-06 5:38
Skond20-Jan-06 5:38 
Questionopeneing popwindow as in parent wind using AxWebBrowser Pin
Sufyan_shani6-Jan-06 19:31
Sufyan_shani6-Jan-06 19:31 
QuestionCalling COM DLL in Pocket PC Pin
Logan from Singapore5-Jan-06 0:51
Logan from Singapore5-Jan-06 0:51 
NewsAt Last! My DCOM Tutorial for VS.NET is Here! Pin
Brian C Hart30-Dec-05 22:30
professionalBrian C Hart30-Dec-05 22:30 
QuestionIWebBrowser2::SetUIHandler doesn't call back to get IDocHostUIHandler Pin
Bernie Pallek30-Dec-05 7:04
Bernie Pallek30-Dec-05 7:04 
AnswerRe: IWebBrowser2::SetUIHandler doesn't call back to get IDocHostUIHandler Pin
Bernie Pallek30-Dec-05 10:11
Bernie Pallek30-Dec-05 10:11 
QuestionAccess violation in COM object on exit from DLL using it Pin
Jens Winslow28-Dec-05 13:09
Jens Winslow28-Dec-05 13:09 
AnswerRe: Access violation in COM object on exit from DLL using it Pin
Gerald Schwab28-Dec-05 13:58
Gerald Schwab28-Dec-05 13:58 
GeneralRe: Access violation in COM object on exit from DLL using it Pin
Jens Winslow5-Jan-06 9:24
Jens Winslow5-Jan-06 9:24 
AnswerRe: Access violation in COM object on exit from DLL using it Pin
User 2155972-Jan-06 15:29
User 2155972-Jan-06 15:29 
GeneralRe: Access violation in COM object on exit from DLL using it Pin
Jens Winslow5-Jan-06 9:48
Jens Winslow5-Jan-06 9:48 
AnswerRe: Access violation in COM object on exit from DLL using it Pin
sundareswaran.senthilvel13-Jan-06 0:59
professionalsundareswaran.senthilvel13-Jan-06 0:59 
GeneralRe: Access violation in COM object on exit from DLL using it Pin
Jens Winslow13-Jan-06 6:05
Jens Winslow13-Jan-06 6:05 
QuestionProblem when User has selected Chinese Traditional Big5 as international option in outlook2003 Pin
Ganesh_T27-Dec-05 1:51
Ganesh_T27-Dec-05 1:51 
QuestionHow to generate custom HRESULT in COM and display message in to MFC Client? Pin
MandiraT27-Dec-05 0:51
MandiraT27-Dec-05 0:51 
QuestionCOM object with CLSID {845FB959-4279-11D2-BF23-00805FBE84A6} is either not valid or not registered. Pin
Mohamed Jaffar Sagir27-Dec-05 0:21
Mohamed Jaffar Sagir27-Dec-05 0:21 
AnswerRe: COM object with CLSID {845FB959-4279-11D2-BF23-00805FBE84A6} is either not valid or not registered. Pin
PhilWilson4-Jan-06 6:56
PhilWilson4-Jan-06 6:56 

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.