无法嵌入互操作类型 请改用适用的接口_西门子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 2019 Community(免費使用)
- WebKit內核開發文件(免費開源)
首先需要把下載好的webkit.net 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-嵌入谷歌浏览器内核...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为最便宜显示器MateView SE旋
- 下一篇: 华为、长安汽车和宁德时代合体!阿维塔11