主控程式 外掛程式之間的介面宣告

2021-09-07 22:27:56 字數 646 閱讀 6711

主控程式和各外掛程式之間通過預約的介面進行互動,這就是為什麼主控程式能夠自動識別外掛程式的原因,因為主控程式和各外掛程式早已經預約了介面。

主控程式呼叫外掛程式中的匯出函式,取得匯出函式的返回值,這個返回值返回的是某乙個介面。乙個匯出函式的返回值可以返回乙個介面,多個匯出函式就可以返回多個介面。

介面裡面定義了許多的方法,通過介面可以呼叫到它裡面的某乙個方法,即呼叫了外掛程式裡面的某一項功能。

外掛程式框架裡面可能需要定義多個介面,按照某乙個原則對這些介面進行分類。比如日誌操作介面,資料操作介面,許可權操作介面。。。。。。

可以在乙個單元中集中定義外掛程式框架中需要使用到的介面,然後在主控程式和各外掛程式裡面都要引用這個介面定義的單元。

unit uinte***ce;

inte***ce

uses

forms, windows, messages;

type

imodelints = inte***ce

procedure cmd(aclassname: pchar);  // load visual plugin

procedure cmd2(aclassname: pchar); // load non-visual plugin

end;

implementation

end.

CTK外掛程式 外掛程式之間的依賴

如何實現依賴 在manifest.mf裡,加入元物件 require plugin firstplugin plugin version 0.5,2.0 resolution mandatory firstplugin 為需要依賴的外掛程式名 就是另乙個外掛程式在manifest.mf裡的plugi...

介面之間的轉換

目錄在 c 中,在介面之間進行強制轉換的最佳方法是使用 as 運算子。使用 as 運算子是比直接強制轉換更好的編碼策略,因為它在轉換失敗時產生 null 而不是引發異常。以下 示例中,第一行是直接轉換。如果您確定所討論的物件實現了這兩個介面,這是一種可接受的做法。如果物件未實現您嘗試獲取控制代碼的介...

關於應用程式和外掛程式或DLL之間的關係

近來一段日子,希望做乙個可擴充套件功能的系統,於是就需要外掛程式等介面的支援。前次說了準備用bpl來做外掛程式,原因是因為dll中的類和其宿主程式中的delphi類是不同的,從而有時候或許或出問題。而且我用bpl也用來做了幾個東西,也都正常,上次的例子提出來的也倒正常。可是當我將他用來做我的系統的外...