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

2021-04-15 23:52:41 字數 506 閱讀 2641

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

難道是用法有錯!經過反覆的轉換,寫了好幾種方法,也請教了幾個高手,但是最終還是一樣的有問題。想來想去

而我遇到的這個問題也同樣是這樣,在bpl包中會用乙個控制項,而該控制項引用的乙個單元會初始化一些東西,這個初始化就會生成一些全域性變數,而控制項在使用的時候要通過這些全域性物件來操作!然而我的控制項只在exe程式中而不在bpl包中,所以我在通過乙個包中包含一些單元達到初始化一些方法和過程不能成功!原因就是我的exe中控制項需要的那個全域性物件初始化在exe中,而在呼叫bpl包初始化的時候,又會產生乙個新的存在於包中的全域性物件,所以無論我怎樣初始化,初始化的也是包中的全域性物件,exe中的全域性物件根本不會變。此時,將該全域性物件傳遞過去,替換包中的全域性物件,則初始化成功。

驅動程式和應用程式之間通訊

正文 q 請問有什麼方法實現驅動程式主動和應用程式進行實時通訊,而不用應用程式採用定時查詢的方法?比如驅動有一事件發生需要立即通知應用程式,或驅動程式需要向應用程式讀取一些內容.a 有乙個很容易的方式,在驅動程式和應用程式之間用乙個事件。在應用程式createfile的時候,驅動程式iocreate...

應用程式之間如何切換

應用程式之間如何切換 在中呼叫 才能被呼叫 具體修改如下 openurl nsurl urlwithstring 如果在程式中需要呼叫 發郵件 openurl nsurl urlwithstring 1 呼叫自帶 2 呼叫 應用內撥打 結束後返回應用 一般在應用中撥打 的方式是 使用這種方式撥打 時...

應用程式與DLL的通訊

最近乙個星期,一直被乙個問題困惑著,就是應用程式與dll的通訊問題。在網上查詢了三個解決方法 1.傳送訊息 1 在dll中定義乙個自定義訊息 define wm mymessage wm user 1 訊息的定義應該放在與應用程式通訊的.h檔案中,我是這麼做的,可能也可以在應用程式中重新定義,不過我...