b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

pascal 视频教程_pascal和basic_pascal选择排序(111)

电脑杂谈  发布时间:2016-12-28 07:02:37  来源:网络整理

Intece assignment-compatibility(接口赋值兼容性)

一个类和它实现的任何接口是赋值兼容的,一个接口和它的任何祖先接口是赋值兼容的。nil可以被赋给任何接口类型的变量。

一个接口类型的表达式可以被赋予一个变体类型(Variant):若接口类型是IDispatch或它的后代,则Variant变量的类型码是varDispatch,否则为varUnknown。

类型码为varEmpty、varUnknown或者varDispatch的Variant变量,可以赋给IIntece类型的变量;类型码为varEmpty或varDispatch的Variant变量,可以赋给IDispatch类型的变量。

Intece typecasts(接口类型转换)

对于变量和值类型转换(variable and value typecast),接口类型和类类型遵循同样的原则。若一个类实现了某个接口,则类类型可以转换为这个接口类型,比如IMyIntece(SomeObject)。

一个接口类型的表达式可以转换为变体类型。如果接口类型是IDispatch或者它的后代,则变量的类型码是varDispatch,否则为varUnknown。

类型码为varEmpty、varUnknown或varDispatch的Variant变量,可以转换为IIntece接口类型;类型码为varEmpty或varDispatch的Variant变量,可以转换为IDispatch接口类型。

Intece querying(接口查询)

你可以使用as运算符进行受检查的接口转换,我们称它为接口查询。它从一个类引用转换为接口类型,或从接口引用转换为另一种接口类型,它基于实际的(运行时)对象类型。接口查询有如下格式 object as intece

这里,object是一个接口类型的表达式,或者是一个变体类型,或者是实现了某个接口的类实例,intece是任何一个声明了GUID的接口。(能查询的接口必须声明GUID)

如果object是nil,则它返回nil;否则,它传递intece接口的GUID到object的QueryIntece方法:- 148 -

Object inteces

若QueryIntece不是返回0,它引发一个异常;若QueryIntece返回0(表示object的类实现了接口),则接口查询(as语句)返回object的接口引用。

Automation objects(自动化对象)

Automation objects (自动化对象)

若对象所属的类实现了IDispatch接口(在System单元声明),则此对象是一个自动化对象。自动化对象只适用于Windows。

Dispatch intece types (派遣接口类型)

派遣接口类型定义了一个自动化对象的方法和属性,它们通过IDispatch接口来实现。调用派遣接口的方法是通过在运行时调用IDispatch接口的Invoke方法来实现的,a class cannot implement a dispatch intece。

派遣接口声明具有如下格式:

type inteceName = dispintece

['{GUID}']

memberList

end;

这里,['{GUID}']是可选的,memberList包括属性和方法声明。派遣接口和普通接口有类似的声明,但它们不能指定一个祖先。比如,

type

IStringsDisp = dispintece

['{EE05DFE2-5549-11D0-9EA9-0020AF3D82DA}']


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23665-111.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...