freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第十章動態(tài)鏈接庫編程一-閱讀頁

2024-09-25 15:29本頁面
  

【正文】 : 把指定庫模塊裝入內(nèi)存 語法為: function Loadlibrary(LibFileName: PChar): THandle。函數(shù) GetWindowDirectory 返回這一目錄的路徑; (3)Windows 系統(tǒng)目錄 (包含系統(tǒng)文件 如 的目錄 )。利用函數(shù) GetModuleFileName 可以返回這一目錄的路徑; (5)列在 PATH 環(huán)境變量中的目錄; (6)網(wǎng)絡(luò)的映象目錄列表。否則,返回一個小于HINSTANCE_ERROR 的錯誤代碼?;蛘卟皇?Windows 應(yīng)用程序,或者在 .EXE 映 像中有錯誤 12 應(yīng)用程序為一個不同的操作系統(tǒng)設(shè)計 (如 OS/2 程序 ) 13 應(yīng)用程序為 MS 設(shè)計 14 可執(zhí)行文件的類型不知道 15 試圖裝載一個實模式應(yīng)用程序 (為早期 Windows 版本設(shè)計 ) 16 試圖裝載包含可寫的多個數(shù)據(jù)段的可執(zhí)行文件的第二個實例 19 試圖裝載一個壓縮的可執(zhí)行文件。 :撿取給定模塊中函數(shù)的地址 語法為: function GetProcAddress(Module: THandle。 Module 包含被調(diào)用的函數(shù) 庫模塊的句柄,這個值由 Loadlibrary 返回。 ProcName 是指向含有函數(shù)名的以 nil 結(jié)尾的字符串的指針,或者也可以是函數(shù)的次序值。這將引起混亂。如果用函數(shù)名,則函數(shù)名的拼寫必須與動態(tài)鏈接庫文件 EXPORTS 節(jié)中的對應(yīng)拼寫相一致。 :從內(nèi)存中移出庫模塊 語法為: procedure Freelibrary(Module : THandle)。這個值由 Loadlibrary 返回。如果引用計數(shù)減為 0,則卸出該模塊。 動態(tài)調(diào)用舉例 對于動態(tài)調(diào)用,我們舉了如下的一個簡單例子。在第一個編輯框中輸入一個字符串,而后在第二個編輯框中輸入字符?!?,否則顯示信息:“不包含這個字符。如圖是程序的運行界面。 procedure (Sender: TObject。 var order: Integer。 PFunc: TFarProc。 begin Moudle := Loadlibrary(39。)。39。Instr39。 txt := StrAlloc(80)。 Order := TInstr(PFunc)(txt,Key)。不包含這個字符 39。位于第 39。位 39。 Freelibrary(Moudle)。 在利用 GetProcAddess 返回的函數(shù)指針時,必須進行強制類型轉(zhuǎn)換: Order := TInstr(PFunc)(text,Key)。Check: Char): Integer。這些對象由直接或間接調(diào)用 DLLs 的應(yīng)用程序擁有。這就意味著保存在 DLLs全局變量中的文件和全局內(nèi)存塊變量在 DLLs沒有被通知的 情況下就變?yōu)榉欠ā? 為了避免出現(xiàn)這種情況,文件和全局內(nèi)存塊句柄不應(yīng)作為 DLLs 的全局變量,而是作為 DLLs 中過程或函數(shù)的參數(shù)傳遞給 DLLs 使用。 但在特定情況下, DLLs 也可以擁有自己的全局內(nèi)存塊。這樣的內(nèi)存塊直到被 DLLs 顯示釋放或 DLLs 退出時都保持有效。 利用 DLLs 實現(xiàn)應(yīng)用程序間的數(shù)據(jù)傳輸 利用 DLLs 實現(xiàn)應(yīng)用程序間的數(shù)據(jù)傳輸?shù)牟襟E為: 1. 編寫一個 DLLs 程序,其中擁有一個用 gmem_DDEShare 屬性分配的全局內(nèi)存塊; 2. 服務(wù)器程序調(diào)用 DLLs,向全局內(nèi)存塊寫入數(shù)據(jù); 3. 客戶程序調(diào)用 DLLs,從全局內(nèi)存塊讀取數(shù)據(jù)。 2. 定義一個過程,返回該全局變量的句柄。如: function GetGlobalMem: THandle。 begin Result := hMem。 3. 在初始化代碼中分配全局內(nèi)存塊: 程序清單如下: begin hMem := GlobalAlloc(gmem_MOVEABLE and gmem_DDEShare,num)。Could not allocate memory39。 end. num 是一個預(yù)定義的常數(shù)。該函數(shù)包括兩個參數(shù),第一個參數(shù)用于設(shè)置內(nèi)存塊的分配標志。 表 全局內(nèi)存塊的分配標志 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 標 志 意 義 ————————————————————————————————— gmem_DDEShare 分配可由應(yīng)用程序共享的內(nèi)存 gmem_Discardable 分配可拋棄的內(nèi)存 (只與 gmem_Moveable 連用 ) gmem_Fixed 分配固定內(nèi)存 gmem_Moveable 分配可移動的內(nèi)存 gmem_Nopact 該全局堆中的內(nèi)存不能被壓縮或拋棄 gmem_Nodiscard 該全局堆中的內(nèi)存不能被拋棄 gmem_NOT_Banked 分配不能被分段的內(nèi)存 gmem_Notify 通知功能。分配的字節(jié)數(shù)必須是 32 的倍數(shù),因而實際分配的字節(jié)數(shù)可能比所設(shè)置的要大。
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1