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

正文內(nèi)容

第十章 動(dòng)態(tài)鏈接庫(kù)編程(一)(文件)

 

【正文】 adlibrary 并不會(huì)裝載該模塊的另一實(shí)例,而是使該模塊的“引用計(jì)數(shù)”加 1。如果把Module 設(shè)置為 nil,則表示要引用當(dāng)前模塊。因此大部分情況下用函數(shù)名是一種更好的選擇。 Module 為庫(kù)模塊的句柄。 每調(diào)用一次 Loadlibrary 就應(yīng)調(diào)用一次 FreeLibray,以保證不會(huì)有多余的庫(kù)模塊在應(yīng)用程序結(jié)束后仍留在內(nèi) 存中。如果該字符包含在第一個(gè)編輯框的字符串中,則標(biāo)簽框顯示信息:“位于第 n 位。 輸入檢查功能的實(shí)現(xiàn)在 Edit2 的 OnKeyPress 事件處理過程中,程序清單如下。 txt: PChar。c:\dlls\39。 Pfunc := GetProcAddress(Moudle,39。 txt := StrPCopy(txt,)。 else := 39。 end。 TInStr 是一 個(gè)定義好了的函數(shù)類型: type TInStr = function(Source: PChar。這樣,當(dāng)應(yīng)用程序中止時(shí),它擁有的打開的文件自動(dòng)關(guān)閉,它擁有的全局內(nèi)存塊自動(dòng)釋放。調(diào)用 DLLs 的應(yīng)用程序應(yīng)該負(fù)責(zé)對(duì)它們的維護(hù)。 由 DLLs 管理的全局內(nèi)存塊是應(yīng)用程序間進(jìn)行數(shù)據(jù)傳輸?shù)挠忠煌緩?,下面我們將專門討論這一問題。該過程要包含在 exports 子句中。 end。,mtWarning,[mbOK],0)??梢允褂玫姆峙錁?biāo)志如下表所示。 由于用 gmem_DDEShare 分配的內(nèi)存在分配內(nèi)存的模塊終止時(shí)自動(dòng)拋棄,因而不必調(diào)用 GlobalFree 顯式釋放內(nèi)存。當(dāng)該內(nèi)存被拋棄時(shí)調(diào)用 GlobalNotify 函數(shù) gmem_Zeroinit 將所分配內(nèi)存塊的內(nèi)容初 始化為零 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 有兩個(gè)預(yù)定義的常用組合是: GHND = gmem_Moveable and gmem_Zeroinit GPTK = gmem_Fixed and gmem_Zeroinit 第二個(gè)參數(shù)用于設(shè)置欲分配的字節(jié)數(shù)。 Windows API 函數(shù) GlobalAlloc 用于從全局內(nèi)存堆中分配一塊內(nèi)存,并返回該內(nèi)存塊的句柄。 if hMem = 0 then MessageDlg(39。 export。 用于實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)?DLLs 的編寫 用于實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)?DLLs與一般 DLLs的編寫基本相同,其中特別的地方是: 1. 定義一個(gè)全局變量句柄: var hMem: THandle。這些內(nèi)存塊必須用gmem_DDEShare 屬性進(jìn)行分配。這將給其它使用該 DLLs 的應(yīng)用程序造成困難。 利用 DLLs 實(shí)現(xiàn)數(shù)據(jù)傳輸 DLLs 中的全局內(nèi)存 Windows 規(guī)定: DLLs 并不擁有它打開的任何文件或它分配的任何全局內(nèi)存塊。 end。+IntToStr(Order+1)+39。 if Order = 1 then := 39。)。 if Moudle 32 then begin := 39。 Moudle: THandle。 var Key: Char)?!?。系統(tǒng)一共包含兩個(gè)編輯框。 由于庫(kù)模塊在內(nèi)存中只裝載一次,因而調(diào)用 Freelibrary 首先使庫(kù)模塊的引用計(jì)數(shù)減一。 如果 GetProcAddress 執(zhí)行成功, 則返回模塊中函數(shù)入口處的地址,否則返回 nil。如果 ProcName 參數(shù)是次序值,則如果該次序值的函數(shù)在模塊中并不存在時(shí), GetProcAddress 仍返回一個(gè)非 nil 的值。 ProcName: PChar): TFarProc。錯(cuò)誤代碼的意義如下表: 表 Loadlibrary 返回錯(cuò)誤代碼的意義 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 錯(cuò)誤代碼 意 義 —————————————————————————————————————— 0 系統(tǒng)內(nèi)存不夠,可執(zhí)行文件被破壞或調(diào)用非法 2 文件沒有被發(fā)現(xiàn) 3 路徑?jīng)]有被發(fā)現(xiàn) 5 企圖動(dòng)態(tài)鏈接一個(gè)任務(wù)或者有一個(gè)共享或網(wǎng)絡(luò)保護(hù)錯(cuò) 6 庫(kù)需要為每個(gè)任務(wù)建立分離的數(shù)據(jù)段 8 沒有足夠的內(nèi)存啟動(dòng)應(yīng)用程序 10 Windows 版本不正確 11 可執(zhí)行文件非法。函數(shù)GetSystemDirectory 返回這一目錄的路徑; (4)包含當(dāng)前任務(wù)可執(zhí)行文件的目錄。 動(dòng)態(tài)調(diào)用 動(dòng)態(tài)調(diào)用中的 API 函數(shù) 動(dòng)態(tài)調(diào)用中使用的 Windows API 函數(shù)主要有三個(gè) ,即: Loadlibrary,GetProcAddress 和 Freelibrary。 靜態(tài)調(diào)用 在靜態(tài)調(diào)用一個(gè) DLLs 中的過程或函數(shù)時(shí), external 指示增加到過程或函數(shù)的聲明語(yǔ)句中。假如一個(gè)特定的DLLs 在運(yùn)行時(shí)無(wú)法使用,則應(yīng)用程序?qū)o(wú)法執(zhí)行。 far。 使用一個(gè)外部聲明子句,使 DLLs 在應(yīng)用程序開始執(zhí)行前即被裝入。 exports Instr Index 1
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1