日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

delphi接口基本学习摘录

發布時間:2025/3/15 编程问答 19 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delphi接口基本学习摘录 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
delphi接口基本學習摘錄
聲明接口
??????? IMyInterface = interface(IInterface)?
???????? ['{63E072DF-B81E-4734-B3CB-3C23C7FDA8EA}']?
????????????? function GetName(const str: String): String; stdcall;
????????????? function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
????????????? function _AddRef: Integer; stdcall;? //使接口引用數加1。
????????????? function _Release: Integer; stdcall;? //使接口引用數減1,當小于等于0時作釋放動作。
??????? end;
???????????
說明:如果有繼續關系則在括號里填父接口,否則省卻,如:IMyInterface = interface這樣就行。
說明:GUID可選,如要實現具有COM特性的接口則需要加上
???????????? zc:接口GUID,最好加上,最好分離功能及其封裝。

接口中所有的數據成員都是public訪問限制,數據成員指定其為不能私有或其他的域成員。
接口中的方法只能有聲明,看上去像沒有構造和析構方法的純虛類。


type
? IInterface = interface
??? ['']
??? function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
??? function _AddRef: Integer; stdcall;
??? function _Release: Integer; stdcall;
end;

? 該接口實現了QueryInterface,_AddRef,_Release,凡是繼承于該接口,則不需要聲明
該三個虛函數。
? 在實現新接口的類中,也要從TInterfacedObject 后繼承,原因在于該類實現以上函數的
實現部分,不要考慮QueryInterface等完成。如下:
type
? TNewInterfaceClass = class(TInterfacedObject, INewInterface)
?? ...
end;




接口的實現
???????? 接口服務是由類來實現的。
??????????????? TIntfClass = class(TObject, IMyInterface)
??????????????? private
??????????????????? FCounter: Integer;
??????????????????? FRefCount: Integer;
??????????????? public
??????????????????? function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
??????????????????? ...
??????????????? end;

獲取接口
??? a. 使用類型轉換。
??????? 如:var aIntf: IMyInterface;
?????????????? begin
?????????????????????? aObj := TIntfClass.Create;
??????????????????????? try
??????????????????????????? aIntf := (IMyInterface(aObj);
??????????????????????????????? ...
??? b. 利用Delphi編譯器內建機制。 如:aIntf := aObj。
??? c. 利用對象的QueryInterface方法。
?????????? 如
???????????????? OleCheck(aObj.QueryInterface(IID, aIntf)); 只能存取有GUID的COM接口。
?? d. 利用as操作符。
???????? 使用as操作符必須符合下面條件:
??? 1.接口要從IInterface接口繼承下來。
??? 2.有GUID值
????? 在Delphi7中接口的實現類還必須是從TInterfacedObject繼承下來才行,
????? 如? TIntfClass = class(TInterfacedObject, IMyInterface)
?????? zc: 最好用該方法,考慮使用接口有其他語言開發l情況下的使用。

接口和對象生命期????????????
? 對接口直接=nil即可,freeAndNil則不需要。因接口特性,會計數減少1


接口的委托(Interface Delegation)
分為兩種:
1. 對象接口委托???
2. 類對象委托。
(略)

總結

以上是生活随笔為你收集整理的delphi接口基本学习摘录的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产美女主播视频 | 欧美一区二区三区网站 | 极品蜜桃臀肥臀-x88av | 一区二区三区免费看 | 伊人午夜 | 色站在线 | 国产明星换脸xxxx色视频 | 97se.com| 日本国产在线观看 | 欧美久久久一区二区三区 | 97免费看 | 国产在线日本 | 亚洲大片| 国产日韩激情 | 久久精品国产欧美亚洲人人爽 | 久久午夜网 | 一二三四国产精品 | 一久久| www色视频| 99热这里只有精品7 青青草社区 | www视频在线 | 狠狠撸狠狠干 | av大片在线免费观看 | 国产人成一区二区三区影院 | 九九亚洲视频 | 一区免费在线观看 | xxx精品| 粗大的内捧猛烈进出视频 | 强制高潮抽搐哭叫求饶h | 国产高清中文字幕 | 日本免费一区二区三区四区五六区 | 中文字幕成人在线 | 男女男精品视频 | 中文字幕亚洲不卡 | 91免费观看入口 | 久久伊人五月天 | 成人漫画网站 | 看av免费毛片手机播放 | mm131美女大尺度私密照尤果 | 大尺度做爰呻吟舌吻情头 | 国产视频1区2区3区 国产欧美一区二区精品性色99 | 黑森林av导航 | 亚洲综合激情另类小说区 | 岛国av一区二区三区 | 日韩av免费在线 | 日本高清www | 美女福利视频一区 | 国产精品99精品久久免费 | 奇米影视四色777 | 久操国产在线 | 欧美久久久久 | 日韩黄色一级大片 | 精品人妻一区二区三区换脸明星 | 在线天堂中文在线资源网 | 欧美www在线观看 | 国产精品无码电影在线观看 | 日韩不卡一区二区三区 | 日韩国产二区 | 国产区123| 国产做受69 | 精品国产乱码久久久久久图片 | 欧美色视频一区二区三区 | 手机av免费在线 | 国内毛片毛片毛片毛片 | 日本伦理片在线播放 | 无码人妻精品一区二区蜜桃色欲 | 性感美女被爆操 | 国产一区在线免费 | 精品人伦一区二区三区蜜桃网站 | 色狗网站| 黄色一级小说 | 9999视频 | 国产视频一区在线 | 国产精品网友自拍 | 久久尹人 | 免费av福利 | 狠狠操狠狠摸 | 国产成人在线观看网站 | 人人射人人爽 | 日本精品一二区 | 日本黄色动态图 | 日日射日日操 | 无码人妻aⅴ一区二区三区玉蒲团 | 久久久久久免费观看 | 色奇米| 精品无码久久久久久久久 | 免费国产一区 | 美国av大片| 午夜爱爱网 | 欧美日韩中文字幕一区二区三区 | 一区二区在线观看av | 欧美日韩国产网站 | 一区二区三区精品 | 污污小说在线观看 | 美乳人妻一区二区三区 | av国产片| 久久久精品免费视频 | 国产av电影一区二区 | 国产亚洲色婷婷久久 |