vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序

一  环境配置部分的问题

   1.使用  qt-vsaddin-msvc2015-2.5.1.vsix   在微软官网下载的

      报错 the fllowing error occurred error reading vs project  

   2. 使用 qt-vsaddin-msvc2015-2.5.0-rev.09.vsix  qt官网下载的

      能够识别到但是运行时候,会报错找不到qt的文件

      : error : MSB4018: “VCMessage”任务意外失败。

      : error : ERROR running qmake

      : error : qmake: (\bin\qmake.exe)

3. 使用 qt-vs-addin-msvc2015-2.0.0-beta.vsix  qt官网下载的

      可以正常运行

 

     卸载 qt-vs-addin 在  工具 --> 拓展和更新 --> 全部 --> 右侧会看到已安装的 qt-vs-addin 卸载即可。

      期间也尝试换了不同版本的 qt进行测试。并没有解决上述问题,降低了 qt-vs-addin版本可以正常编译。

 

二  编译测试程序部分问题

1.     如果出现 未找到 ui_xxxxxxxx.h  要先编译一下ui文件才可以

2.    vs 创建 active x 程序时

    vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第1张图片

然后下一步  下一步 当 选择qt 模块式,会发现有 ActiveQT container 和  Active server 如果你两个都勾选可能会有问题

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第2张图片

会出现如下错误  error LNK2001: 无法解析的外部符号 DllCanUnloadNow 等     

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第3张图片

 

 

再重新创建 ActiveQT srver项目,选择模块时 去掉  ActiveQT container   模块即可

 

三 网页模拟运行时的总结

 

   提示: mfc生成的 .ocx 文件和 qt 通过activeQT server 生成的 dll 是一个东西。通用的

 

 

    1. 首先要打开  cmd 进行注册表注册如        regsvr32   xxxxx.dll (你编译出来的active 的dll文件)  成功后会有提示弹窗

    2. 关于 CLASSID  即下面圈红这个,也可以去注册表进行查询

 vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第4张图片

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第5张图片

 

3. 测试程序 

 qt 测试程序 创建普通gui qt程序就行

#include
#include
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QAxWidget *flash = new QAxWidget(0, 0);


    QtGuiApplication2 w;
    w.show();


    flash->resize(500, 800);

    flash->setControl(QString::fromUtf8("{0A3B2EBA-BFB4-4F4F-AB15-B021CF9A0DF5}"));

//    flash->dynamicCall("LoadMovie(long,string)", 0, "c:/1.swf");

    flash->show();

    return a.exec();
}
 

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第6张图片

 运行结果如下

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第7张图片

2. 网页上测试是通过 写html   内容如下

            classid="clsid:0A3B2EBA-BFB4-4F4F-AB15-B021CF9A0DF5" 
        id="0A3B2EBA-BFB4-4F4F-AB15-B021CF9A0DF5" 
        codebase="testOcx.ocx" 
        size="500" 
        width="500" 
        height="500"> 
     

 

 

运行结果如下

vs2015 配置qt5.9.3 编写 activex 程序 ocx 程序_第8张图片

参考   https://wenku.baidu.com/view/a02d34f8dd3383c4bb4cd2a3.html

 

四  关于不同浏览器运行方面

   active x 支持 ie浏览器。如果要使用谷歌或者火狐浏览器 需要安装插件,IE Tab

你可能感兴趣的:(小记录)