我用的是ActiveSkin4.3。用在VC6.0下,在对话框下面使用一切正常,也能使用安装附带的Skin,但是在使用单文档的时候就不行了,编译能通过,但是运行的时候出错,提示:Could not initialize ActiveSkin control.Please make sure it is installed properly.我看了一下代码,是在这里出的问题:
BOOL CSDIApp::InitInstance()
{
if (!m_pSkin)
{
MessageBox(NULL, "Could not initialize ActiveSkin control.\nPlease make sure it is installed properly.", "Error", MB_ICONEXCLAMATION);
return false;
}
}
程序应该是写的没问题,m_pSkin在App的H中正确定义了的。但是就是不能出效果。为什么?另外,将用了ActiveSkin的软件在别的机器上使用,需要拷贝那些文件过去呢?请高手指教,不甚感激!

解决方案 »

  1.   

    m_pSkin肯定是为空才有这个错误的。关键是你如何创建这个m_pSkin的?语句贴出来
      

  2.   

    程序应该是写的没问题,m_pSkin在App的H中正确定义了的。
    =========
    正确定义,不代表正确创建阿。对话框和框架是不一样的
      

  3.   

    CComQIPtr<ISkin> m_pSkin;在stdafx.h中加入
    #include <atlbase.h>
    #import "actskn43.ocx" no_implementation raw_interfaces_only raw_native_types
    using namespace ACTIVESKINLib;其他的就没有做什么了,ActiveSkin应该是正确安装了的,而且比较奇怪的是,我在启动ActiveSkin带的Demo,也就是VC的框架的时候,也出现了同样的错误信息,百思不得其解。
      

  4.   

    问题解决
    在框架的时候,必须要加入一个对话框,并且在InitInstance的时候Create,而且还必须加入在AfxEnableControlContainer();之后。
    为了弄清楚这个,今天花了我一天的时间。晕!