【解決方案】使用易語言調用C#編寫的DLL

易語言在國內使用範圍非常廣泛,尤其是其“特殊功能”非常強大。
在非特殊的情況下,也真的是不怎麼好用,尤其是對於非常熟悉C#的編程人員來說,易語言有諸多不便。

但由於其“特殊”的功能,這個語言也不可小視!如果能使用其特殊功能的同時,還能照顧到C#這類強大的編程語言,那該多好?

解決方案有了!

1、使用Visual Studio創建一個.Net類庫

namespace NetHttpService
{
    public interface IClass
    {
        int add(int a, int b);
        int Add2(int a, int b);
    }
    
    [ClassInterface(ClassInterfaceType.None)]
    public class Class : IClass
    {
        public int add(int a, int b)
        {
            return a + b;
        }

        public int Add2(int a, int b)
        {
            return a + b;
        }

        public int Add3(int a, int b)
        {
            return a + b;
        }
    }    

修改項目屬性:
在這裏插入圖片描述
還有
在這裏插入圖片描述

項目已經完成,編譯項目
接下來,註冊項目

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe /c /s NetHttpService.dll

對於.NET項目來說,這裏全部完成。
接下來,如何在易語言中使用呢?

創建一個Windows窗口程序
在這裏插入圖片描述
雙擊按鈕,添加如下代碼
在這裏插入圖片描述

.程序集 窗口程序集_啓動窗口
.程序集變量 Class, 對象

.子程序 __啓動窗口_創建完畢
.如果真 (Class.創建 (“NetHttpService.Class”, ) = 假)
    信息框 (“創建失敗,無法正常使用” + #換行符 + Class.取錯誤 (), #錯誤圖標, “COM錯誤”, _啓動窗口)
.如果真結束
Class.查看 ()

.子程序 _按鈕1_被單擊
編輯框3.內容 = 到文本 (Class.數值方法 (“add”, 到數值 (編輯框1.內容), 到數值 (編輯框2.內容)))

直接執行程序如下:(Class.查看 ()執行的結果)
在這裏插入圖片描述

在這裏,你會發現,出現的方法是那兩個在interface中定義的,並非在具體實現中定義的那三個。
在這裏插入圖片描述
點擊方法,會提示如何使用該方法。點擊“關閉後”,主界面如下:

在這裏插入圖片描述

點擊“按鈕”,調用C#寫的方法,結果如下:
在這裏插入圖片描述

OK。完美!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章