我目前生活在 90 年代,我收到了这段遗留代码。我对 COM/OLE/MFC/ATL 不了解,所以我问这个问题,希望当时有经验的人可以帮助我找出这个问题。
- 我拥有的是这个非常古老/遗留的 MFC/ATL 应用程序。
- 它启动,但最终在 CFormView::HandleInitDialog (atlmfc\src\mfc\viewform.cpp) 中崩溃
我得到的调试输出是这样的:
CoCreateInstance of OLE control {6A24B340-7634-11D3-A5B0-0050044A7E1A} failed.
>>> Result code: 0x80040154
>>> Is the control is properly registered?
我知道这是由于某些组件注册失败或解决方案造成的,但我不知道如何弄清楚这种依赖性是什么,我有一个有效的旧代码可执行文件,也许我可以使用一些逆向工程来弄清楚是否缺少任何 DLL,但我真的不知道,我知道 OLE 是什么,我非常感谢您提供有关如何调试它的帮助。
最佳答案
看起来像是 dxDBGrid.dll。 OLE 只是对象链接和嵌入。您需要找到 dxDBGrid.dll 并确保它已注册。你可以使用 regsvr32 来注册它。
关于COM/OLE、旧代码和令人头疼的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8390147/