麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > Delphi > 正文

初探Delphi中的插件編程

2020-01-31 20:52:31
字體:
來源:轉載
供稿:網(wǎng)友
插件結構的編程需要一個插件容器來控制各DLL的運行情況,將劃分好的每個子系統(tǒng)安排到一個DLL庫文件中。對每個DLL程序需要為容器預留接口函數(shù),一般接口函數(shù)包括:啟動調(diào)用DLL庫的函數(shù)、關閉DLL庫的函數(shù)。通過接口函數(shù),插件容器可以向DLL模塊傳遞參數(shù)實現(xiàn)動態(tài)控制。具體實現(xiàn)細節(jié)我將在下文說明并給出響應代碼。

  您可能需要先了解一下DELPHI中UNIT的結構,工程的結構。本文沒有深入討論DLL編程的理論細節(jié),只是演示了一些實用的代碼,我當時學習的是劉藝老師的《DELPHI深入編程》一書。

  我也處于DELPHI的入門階段,只是覺得這次的DLL開發(fā)有一些值得討論的地方,所以寫這篇文章,希望各位能對我做的不好的地方慷慨建議。

  示例程序簡介

  為了便于閱讀我將使用一個MIS系統(tǒng)的部分程序代碼演示插件編程的一些方法。示例程序是典型的C/S結構DBMS應用程序,我們關注的部分將是框架程序(下文簡稱Hall)的控制語句和dll插件程序的響應控制。

  1、程序結構

  插件容器Hall使用一個獨立的工程創(chuàng)建,Hall的主窗口的作用相當于MDI程序中的MDI容器窗體,Hall中將顯式調(diào)用Dll中的接口函數(shù)。
每個插件程序獨立使用各自的工程,與普通工程不同的是,DLL工程創(chuàng)建的是Dll Wizard,相應編譯生成的文件是以DLL為后綴。






  2、接口設計

  實例程序Narcissus中我們預留兩個接口函數(shù):

  ShowDLLForm

  該函數(shù)將應用程序的句柄傳遞給DLL子窗口,DLL程序將動態(tài)創(chuàng)建DLL窗體的實例。還可以將一些業(yè)務邏輯用參數(shù)的形式傳遞給DLL子窗口,比如窗體名稱、當前登陸的用戶名等。初次調(diào)用一個DLL窗體實例時使用此函數(shù)創(chuàng)建。

  FreeDLLForm

  該函數(shù)將顯示釋放DLL窗口實例,在退出應用程序時調(diào)用每個DLL窗體的FreeDLLForm方法來釋放創(chuàng)建的實例,不然會引起內(nèi)存只讀錯誤。同樣,也可以將一些在釋放窗體時需要做的業(yè)務邏輯用參數(shù)的形式傳遞給DLL窗體。

  3、調(diào)試方式

  DLL窗體程序無法直接執(zhí)行,需要有一個插件容器來調(diào)用。應此我們需要先實現(xiàn)一個基本的Hall程序,然后將Hall.exe保存在一個固定的目錄中。對每個DLL工程做如下設置:

  1) 打開DLL工程

  2) 選擇菜單 Run 主站蜘蛛池模板: 国产精品久久久久影院老司 | 天天舔天天插 | 成人羞羞在线观看网站 | 国产91丝袜在线播放0 | 黄色男女视频 | 国产妇女乱码一区二区三区 | 欧美成人性生活片 | 欧美国产成人在线 | 精国品产一区二区三区有限公司 | 91短视频在线播放 | 成人福利在线看 | 91羞羞 | 欧美成a人片在线观看久 | 日本在线视频一区二区三区 | 久久国产秒 | 日韩a毛片免费观看 | 中文字幕国 | 深夜视频福利 | 高潮娇喘嗯啊~文字 | 精品国产一区二区三区久久久蜜月 | 国产精品成人久久 | 成人精品免费在线观看 | 亚洲va国产va| av久草| 精品一区二区三区在线观看视频 | 蜜桃精品视频在线观看 | 一区二区精品在线 | 久久精品久 | 亚洲精品久久久久久久久久 | 国产91精品久久久久久 | 久久成人黄色 | 欧美一级做a | 欧美成人免费看 | 91精品国产91久久久久久吃药 | 精品久久久久久中文字幕 | 羞羞电影网 | 精品中文字幕久久久久四十五十骆 | 极品国产91在线网站 | 在线看免费观看av | 久久免费视频精品 | 福利在线小视频 |