首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VC++编写ActiveX控件

    暑假在做一个项目的时候,本来是用C#.NET来写的一个港口进出闸的流程控制程序,里面涉及一个响应用PLC的采集信息的问题(PLC用串口和工控机相连接),然后思考如何用C#写串口通讯程序,结果师兄在一旁直接用VC++写了一个“*.ocx控件”,并在自己的电脑上进行了测试,完工后就把生成的“*.ocx”控件注册文件复制到了我们的电脑上。我们就在C#.NET程序里面将此控件拖入到主窗口中,然后就能直接利用此控件的事件来捕捉PLC的命令了,感觉好神奇。然后,我对C++的态度有了极大的转变,以前只知道C++写窗口程序是多么麻烦啊(远不如C#.NET来得快和直接),而它的所谓“比较底层,和底层操作系统的关系比C#这些高级语言要密切很多”的好处一直都没有体会到,现在才知道,正是因为C++比较底层,比较基础,所以它可以开发出很多和语言无关的公用程序块,如dll动态链接库和COM组件,原则上,只要你的Windows的系统,用VC++开发出来的这些公用程序块就能被任何语言调用(如果不用MFC框架,而用ATL框架来编写,甚至还可以脱离Windwos系统,不仅仅实现跨语言,甚至跨平台调用,这个笔者就没有仔细研究了)。

    03

    在Chrome、Firefox、Edge等高版本浏览器中实现在线编辑、审阅Office文档新方案

    在IE、Chrome 45及Firefox 53以下版本的浏览器网页中,可直接或间接调用微软免费开源的ActiveX控件DsoFramer即可嵌入本地安装的Office软件实现在线编辑或审阅Office文档。然而好景不长,从2015年开始Chrome、Firefox等新生代浏览器先后取消了对NPAPI插件的支持,在这些浏览器的后续版本中如何实现就成为了技术难题。IE浏览器又因各种问题导致其不断被用户抛弃,其市场份额已降到前端主流框架直接放弃兼容的地步。而随着Windows系统及Office软件的不断升级,DsoFramer的稳定性和兼容性问题越来越多,不支持64位浏览器不说,也不支持金山WPS及开源的LibreOffice等办公软件,要命的是2008年以来微软再无升级版发布,导致其用于商业用途具有很大风险,除非自己有研发能力解决这些问题。虽然随后有点聚WebOffice控件模仿DsoFramer接力举起免费的大旗,为其收费的电子印章产品导入客户,然而依然无法克服ActiveX控件固有的缺陷,只能在32位的IE浏览器中使用不说,往往还需要修改终端电脑IE的默认安全设置,实施成本高、加载运行时弹警告导致用户体验差,这不现在点聚WebOffice的官方网页和交流论坛也都没了踪影,不再继续维护升级,因为没开放源代码,第三方也无法修改其缺陷,其客户再次被抛弃了。

    03
    领券