91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

Delphi中制作DLL
?一 Dll的制作一般分為以下幾步:
1 在一個DLL工程里寫一個過程或函數(shù)
2 寫一個Exports關(guān)鍵字,在其下寫過程的名稱。不用寫參數(shù)和調(diào)用后綴。
二參數(shù)傳遞
1 參數(shù)類型最好與window C++的參數(shù)類型一致。不要用DELPHI的數(shù)據(jù)類型。
2 最好有返回值[即使是一個過程],來報出調(diào)用成功或失敗,或狀態(tài)。成功或失敗的返回值最好為1[成功]或0[失敗].一句話,與windows c++兼容。
3 用stdcall聲明后綴。
4 最好大小寫敏感。
5 無須用far調(diào)用后綴,那只是為了與windows 16位程序兼容。

三 DLL的初始化和退出清理[如果需要初始化和退出清理]
1 DLLProc[SysUtils單元的一個Pointer]是DLL的入口。在此你可用你的函數(shù)替換了它的入口。但你的函數(shù)必須符合以下要求[其實就是一個回調(diào)函數(shù)]。如下:
procedure DllEnterPoint(dwReason: DWORD);far;stdcall;
dwReason參數(shù)有四種類型:

DLL_PROCESS_ATTACH:進(jìn)程進(jìn)入時
DLL_PROCESS_DETACH進(jìn)程退出時
DLL_THREAD_ATTACH

線程進(jìn)入時
DLL_THREAD_DETACH 線程退出時
在初始化部分寫:
DLLProc := @DLLEnterPoint;
DllEnterPoint(DLL_PROCESS_ATTACH);
2 如Form上有TdcomConnection組件,就Uses Activex,在初始化時寫一句CoInitialize (nil);
3 在退出時一定保證DcomConnection.Connected := False,并且數(shù)據(jù)集已關(guān)閉。否則報地址錯。

四全局變量的使用
在widnows 32位程序中,兩個應(yīng)用程序的地址空間是相互沒有聯(lián)系的。雖然DLL在內(nèi)存中是一份,
但變量是在各進(jìn)程的地址空間中,因此你不能借助dll的全局變量來達(dá)到兩個應(yīng)用程序間的數(shù)據(jù)
傳遞,除非你用內(nèi)存映像文件。

五、其他:調(diào)用方式按照標(biāo)準(zhǔn)的Windows調(diào)用方式.

六、關(guān)于參數(shù)傳遞
?Delphi程序之間調(diào)用DLL,如果要用String類型的話,要在引用的單元加上ShareMem 單元。
?如果Delphi寫的DLL供其他開發(fā)工具使用的話,不要使用String類型,用PAnsiChar類型。
盡量使用標(biāo)準(zhǔn)DLL接口。指的是傳遞的參數(shù)類型及函數(shù)返回類型不能是Delphi特有的,
比如string(AnsiString),以及動態(tài)數(shù)組和含有這些類型成員的復(fù)合類型(如記錄),也不
能是包含有這些類型成員數(shù)據(jù)成員的對象類型,以避免可能的錯誤。如果使用了string類型或
動態(tài)數(shù)組類型,且調(diào)用方不是Delphi程序,則基本上會報錯。如果調(diào)用方是Delphi但調(diào)用方或
被調(diào)用方?jīng)]有在工程文件的第一包含單元不是ShareMem,也可能會出錯。

七、關(guān)于回調(diào)Funciton
你可以把Callback函數(shù)看作是一種特殊的消息響應(yīng)函數(shù),一般來說我們不會自己調(diào)用這種函數(shù),
而是有某些系統(tǒng)函數(shù)調(diào)用,而且不需要向后傳遞消息。 只要象C/C++這樣支持函數(shù)指針的語言都
有回調(diào)函數(shù)的概念,它實際上是向被調(diào)用函數(shù)傳一個你的函數(shù)地址,然后被調(diào)用函數(shù)向通過你傳
入的函數(shù)地址來調(diào)用你的函數(shù) 。

以上是結(jié)構(gòu)化回調(diào),到高級語言O(shè)bject Pascal、C++中回調(diào)函數(shù)并沒有退出,反而得到延伸與
擴(kuò)展,在面向?qū)ο裰械幕卣{(diào),其實是指面向?qū)ο裰蓄悓ο竦氖录录褪窃嫉幕卣{(diào)函數(shù)。面
向?qū)ο瘢?將回調(diào)函數(shù)定義成事件過程,在程序引用對像時,若指定了對像的過程事件后,那么在
要進(jìn)行事件觸發(fā)的地方檢查事件過程是否分配,如果分中的就執(zhí)行事,也就是執(zhí)行了回調(diào)函數(shù)。

資源截圖

代碼片段和文件信息

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件????????845??2007-01-20?13:31??Windows面向?qū)ο窕卣{(diào)實例\GroupPObjCallBack.bpg

?????文件????????434??2007-01-20?15:02??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBack.cfg

?????文件???????2446??2007-01-20?15:02??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBack.dof

?????文件???????3628??2007-01-20?14:56??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBack.dpr

?????文件????????876??2007-01-20?11:55??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBack.res

?????文件????????434??2007-01-20?13:30??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBackForm.cfg

?????文件???????2446??2007-01-20?13:30??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBackForm.dof

?????文件????????218??2007-01-20?13:30??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBackForm.dpr

?????文件????????876??2007-01-20?13:30??Windows面向?qū)ο窕卣{(diào)實例\PObjCallBackForm.res

?????文件???????5818??2007-01-20?14:54??Windows面向?qū)ο窕卣{(diào)實例\Unit_ObjCallBack.dcu

?????文件???????1251??2007-01-20?14:55??Windows面向?qū)ο窕卣{(diào)實例\Unit_ObjCallBack.dfm

?????文件???????2900??2007-01-20?14:55??Windows面向?qū)ο窕卣{(diào)實例\Unit_ObjCallBack.pas

?????目錄??????????0??2007-01-20?15:02??Windows面向?qū)ο窕卣{(diào)實例

?????文件????????434??2007-01-20?11:23??Windows結(jié)構(gòu)化回調(diào)實例\PWinCallBack.cfg

?????文件???????2446??2007-01-20?11:23??Windows結(jié)構(gòu)化回調(diào)實例\PWinCallBack.dof

?????文件????????261??2007-01-20?11:23??Windows結(jié)構(gòu)化回調(diào)實例\PWinCallBack.dpr

?????文件????????876??2007-01-20?09:13??Windows結(jié)構(gòu)化回調(diào)實例\PWinCallBack.res

?????文件???????5572??2007-01-20?11:41??Windows結(jié)構(gòu)化回調(diào)實例\Unit_WindowsCallBack.dcu

?????文件???????1338??2007-01-20?11:39??Windows結(jié)構(gòu)化回調(diào)實例\Unit_WindowsCallBack.dfm

?????文件???????2351??2007-01-20?14:53??Windows結(jié)構(gòu)化回調(diào)實例\Unit_WindowsCallBack.pas

?????文件????????434??2007-01-20?11:33??Windows結(jié)構(gòu)化回調(diào)實例\WindowsCallBack.cfg

?????文件???????2446??2007-01-20?11:33??Windows結(jié)構(gòu)化回調(diào)實例\WindowsCallBack.dof

?????文件???????2099??2007-01-20?11:33??Windows結(jié)構(gòu)化回調(diào)實例\WindowsCallBack.dpr

?????文件????????876??2007-01-20?09:12??Windows結(jié)構(gòu)化回調(diào)實例\WindowsCallBack.res

?????目錄??????????0??2007-01-20?11:42??Windows結(jié)構(gòu)化回調(diào)實例

-----------?---------??----------?-----??----

????????????????41305????????????????????25


評論

共有 條評論