1、保證ocx已正常注冊,可以使用
2、創建一個C++的命令行程序,在主程序
#import "HZ_KevinTest.ocx" no_namespace
生成一次程序,debug目錄下就會有類似的兩個文件
HZ_KevinTest.tlh
HZ_KevinTest.tli
3.把這兩個文件拷貝到源代碼的位置,將第一個文件的擴展名修改為.h,調整主程序的代碼,注釋剛才的import語句,include剛才的.h文件,類似如下
//#import "HZ_KevinTest.ocx" no_namespace
#include "HZ_KevinTest.h"
另外的HZ_KevinTest.tli相當於CPP文件,我自己測試的ocx生成的一個方法會帶了產生異常代碼,我自己手工調整tli里的代碼,讓其不異常。至此ocx已在代碼的控制下了。
4.生成實例。因為import的時候使用了smart pointer,所以com的生成只需
IHZ_KevinTestPtr pMyocx(__uuidof(HZ_KevinTest));
好了,似乎還可以用。還好N年前買的一本書。剛才上網想找類似的書重新學習一下,發現Com+一類的書已成恐龍級別了。期待有人推薦一兩本
以下是我自己測試的頭部引入的內容
#include <iostream> #include <windows.h> #include <cassert> #include <stdexcept> #include <iostream> //#import "HZ_MyTest.ocx" no_namespace #include "HZ_KevinTest.h" using namespace std;
這里有更多的方式,自己也在學習中
https://blog.csdn.net/u011555996/article/details/76073157
可惜現在找不到新書來學習C++來開發Com了