这不科学 ,MIDL 怎么了 ,VS6 升级到 VS2013 碰到的问题
大家好:
activex 编译碰到问题了 ,原来写了一个组件(VS6 MFC),在 VS6 下面都是好好的 ,也可以被别的程序使用。
最近将 这个组件的编译迁移到 VS2013 并且在2013下开发 了一个 ATL 控件,想嵌入这个 activex组件,但是碰到了问题,
首先是 MBCS 的问题 ,通过在微软官网下载 MBCS 库 编译成功了 ,接下来就碰到了 Type Library 的问题, 显示 ODL 文件编译报错,将 MkTypeLib Compatible 由 Yes(/mktyplib203) 改为 NO 就可以编译通过了 。
现在问题出现了 ,通过 ole view 打开 类型库 ,发现 有些返回是 long 的方法 ,被识别成为了 char ,在其他程序中如果 #import 类型库的话 ,不能识别出方法和属性 ,打开 生成的 tlh 文件, 发现 方法,属性,事件一律未生成 ,只生成了 smartptr 和如下内容
struct __declspec(uuid("80b928a0-27ae-4151-abb3-5a3e2d450f06"))
_DXSPhoneActiveX : IDispatch
{};
方法,和属性,事件 一律没有生成
这是什么原因呢 ,有谁有经验可以指导一下 ,多谢了!!