用delphi编写的一个ocx组件,未压前dll有10几M,注册后IE下可以正常使用,在ATL工程中使用hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, (void **) &spObject);也可以正常创建。
但是在用ASPack压缩后,IE下可以正常使用。但是在ATL工程中直接使用hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IUnknown, (void **) &spObject);则创建失败。提示:“0x80040154 没有注册类”。    我想问下,我应该怎么调用压缩后的dll才会让这个dll先解压缩,然后可以创建instance

解决方案 »

  1.   


    压缩版使用调试的时候发现了如下的错误
    “firefox.exe”: 已加载“E:\every\firefox\Printer.dll”,未使用调试信息生成二进制文件。
    “firefox.exe”: 已加载“C:\Windows\System32\oleacc.dll”
    firefox.exe 中的 0x098a0001 处最可能的异常: 0xC0000005: Access violation
    “firefox.exe”: 已卸载“E:\every\firefox\Printer.dll”
    “firefox.exe”: 已卸载“C:\Windows\System32\oleacc.dll”
      

  2.   

    压缩版使用调试的时候发现了如下的错误
    “firefox.exe”: 已加载“E:\every\firefox\Printer.dll”,未使用调试信息生成二进制文件。
    “firefox.exe”: 已加载“C:\Windows\System32\oleacc.dll”
    firefox.exe 中的 0x098a0001 处最可能的异常: 0xC0000005: Access violation
    “firefox.exe”: 已卸载“E:\every\firefox\Printer.dll”
    “firefox.exe”: 已卸载“C:\Windows\System32\oleacc.dll”