Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

COM/OLE, Old code and Headaches

Tags:

com

legacy

ole

I'm currently living in 90's and I've been handed this piece of legacy code. I'm not knowledgeable when it comes to COM/OLE/MFC/ATL so I'm asking this, hoping that someone with experience from way back then, could help me to track down this issue.

  • What I have is this really old/legacy MFC/ATL application.
  • It launches, but eventually crashes in CFormView::HandleInitDialog (atlmfc\src\mfc\viewform.cpp)

The debug output I get is this:

CoCreateInstance of OLE control {6A24B340-7634-11D3-A5B0-0050044A7E1A} failed.
>>> Result code: 0x80040154
>>> Is the control is properly registered?

I know as much that this is due to some component registration failure, or resolution but what I do not know is how to figure out what this dependency is, I have a working old executable of the code, and maybe I could use a bit of reverse engineering to figure out if any DLLs are missing, but I really don't know, I have know idea what OLE is, and I would really appreciate some help on how to debug this.

like image 692
John Leidegren Avatar asked Aug 17 '26 02:08

John Leidegren


1 Answers

that looks like it is dxDBGrid.dll. OLE is just Object Linking and Embedding. You need to find the dxDBGrid.dll and make sure it is registered. you can use regsvr32 to register it.

explanation of regsvr32

like image 125
John Sobolewski Avatar answered Aug 19 '26 13:08

John Sobolewski



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!