100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 无法嵌入互操作类型 请改用适用的接口_西门子COMOS软件开发定制学习7-嵌入谷歌浏览器

无法嵌入互操作类型 请改用适用的接口_西门子COMOS软件开发定制学习7-嵌入谷歌浏览器

时间:2022-11-25 07:16:54

相关推荐

无法嵌入互操作类型 请改用适用的接口_西门子COMOS软件开发定制学习7-嵌入谷歌浏览器

首先需要声明的是,本篇并非COMOS实用案例,只是希望借此让大家了解,如何使用微软的WPF和C#语言开发COMOS插件。

首先看下效果图

功能说明:

拖拽COMOS设备至定制的浏览器,自动根据设备的名称和其制造商参数值,搜索相关网页内容。

操作演示(gif动图):

国产浏览器我们见过的很多,现在基本上很多大厂都推出了各自的浏览器,但是如果我们仔细研究会发现,虽然叫法众多,但是终究逃不过两个引擎,IE内核和谷歌浏览器的WebKit。

需要说明的是WebKit并非谷歌产品,而是开源软件,苹果系统的Safari浏览器同样使用的是WebKit内核。

在COMOS软件中嵌入IE内核非常简单,只需使用WPF的WebBrowser控件,该控件会自动根据用户安装的IE版本加载相应的IE内核。

但是采用IE内核有很大的缺点:

如用户电脑系统中安装的IE版本过低,某些网页可能无法正常加载IE内核渲染速度慢IE内核对HTML5支持不足,甚至出现丢三落四的问题

WebKit优势

目前最快的浏览器核心使用面最广的浏览器核心(谷歌浏览器、苹果浏览器都用这个核心)对开发人员最友好的浏览器核心(社区支持很给力)

开发准备 :

Visual Studio Community(免费使用)WebKit内核开发文件(免费开源)

首先需要把下载好的 bin目录下的所有文件复制到COMOS安装目录Bin文件夹中。

接下来使用管理员权限启动命令提示符。

输入“SUBST R:”+COMOS安装目录的Current文件夹路径,创建虚拟磁盘R,如下所示:

SUBST R: "C:Program Files (x86)COMOS103Current"

打开“我的电脑”将看到新增了R盘:

打开Visual Studio,点击创建新项目,搜索WPF,选择WPF用户控件库,点击下一步。

输入项目名称,推荐以“Custom.”为前缀,然后点击“创建”按钮

修改“UserControl1”名称为“WebNavigator”

修改XAML处的“UserControl1”为WebNavigator

修改CS文件中的“UserControl1”为“WebNavigator”

引用如下4个DLL文件

设置引用DLL属性中的互操作类型和复制本地均为false

因为WebKit引擎只支持32位系统,所以项目属性中的“目标平台”需要选择x86

生成事件中输入:

Copy "$(TargetDir)$(TargetName).dll" "R:Bin$(TargetName).dll"

Copy "$(TargetDir)$(TargetName).pdb" "R:Bin$(TargetName).pdb"

调试选择“外部程序”,并输入Comos.exe文件路径

在CS文件中加Using引用脚本

using Plt;

using WebKit;

using Comos.Controls;

using System.Windows.Forms.Integration;

using Chemserv;

给WebNavigator添加接口“IComosControl”。

选中“IComosControl”,按“Alt+Enter”弹出“实现接口”。

实现接口如下所示:

清理Throw语句

在COMOS安装目录“configmenu”文件夹中复制"ExampleMain.xml"文件,重命名为“Main.xml”。

编辑“Main.xml”文件,增加一个“Tool”,设置大致如下:

id="@NET.Custom.WebKitBrowser"

itx="产品搜索"

assembly="Custom.WebKitBrowser"

Progid="Custom.WebKitBrowser.WebNavigator

无法嵌入互操作类型 请改用适用的接口_西门子COMOS软件开发定制学习7-嵌入谷歌浏览器内核...

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。