麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久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 主站蜘蛛池模板: 天天色人人爱 | 狠狠操视频网站 | 欧美三级欧美成人高清www | 最新毛片在线观看 | 韩国草草影院 | 宅男噜噜噜66国产在线观看 | 最近中文字幕一区二区 | 成人午夜免费在线视频 | 俄罗斯16一20sex牲色另类 | 久久经典免费视频 | 美女扒开腿让男生桶爽网站 | 黄色网页在线观看 | 国产精品久久久久久久不卡 | arabxxxxvideos| 黄色特级毛片 | 一级电影在线观看 | 性欧美大战久久久久久久免费观看 | 国产精品999在线观看 | 国产精品成人免费一区久久羞羞 | 国产福利不卡一区二区三区 | 99亚洲视频| 精品一区二区在线视频 | 成人精品一区二区三区中文字幕 | 精品一区久久久 | 午夜视频在线看 | 视频一区二区不卡 | 视频一区 日韩 | 伊人久久国产精品 | 欧美一区成人 | 日韩视频一区二区三区在线观看 | 国产亚洲精品久久午夜玫瑰园 | 国产精选久久 | 日本成人二区 | 羞羞色院91精品网站 | 日韩欧美高清一区 | 国产高清自拍一区 | 视频一区 在线 | 在线观看免费视频麻豆 | 91久久国产露脸精品免费 | 欧美国产成人在线 | 久久日韩在线 |