在Delphi中,从接口类型数据初始化一个TGUID的const数组需要以下步骤:
System.SysUtils
和System.GUIDs
单元。GetInterfaceEntry
函数获取接口的IInterfaceEntry
实例。IInterfaceEntry
实例的GUID
属性获取接口的GUID。SetLength
函数创建一个TGUID数组,并将其长度设置为所需的数组大小。Move
函数将接口的GUID复制到数组中。以下是一个示例代码:
uses
System.SysUtils,
System.GUIDs;
type
IMyInterface = interface
['{12345678-9012-3456-7890-123456789012}']
procedure DoSomething;
end;
TMyClass = class(TInterfacedObject, IMyInterface)
procedure DoSomething;
end;
var
MyInterface: IMyInterface;
InterfaceEntry: IInterfaceEntry;
GUIDArray: TArray<TGUID>;
begin
MyInterface := TMyClass.Create;
InterfaceEntry := GetInterfaceEntry(MyInterface);
if Assigned(InterfaceEntry) then
begin
SetLength(GUIDArray, 1);
Move(InterfaceEntry.GUID, GUIDArray[0], SizeOf(TGUID));
// GUIDArray[0] now contains the GUID of the interface
end;
end;
在这个示例中,我们首先定义了一个名为IMyInterface
的接口类型,并创建了一个名为TMyClass
的类,该类实现了IMyInterface
接口。然后,我们创建了一个IMyInterface
类型的变量MyInterface
,并将其指向TMyClass
的实例。接下来,我们使用GetInterfaceEntry
函数获取MyInterface
的IInterfaceEntry
实例,并使用IInterfaceEntry
实例的GUID
属性获取接口的GUID。最后,我们使用SetLength
函数创建一个TGUID数组,并将接口的GUID复制到数组中。
领取专属 10元无门槛券
手把手带您无忧上云