📄 ucontroller.pas
字号:
unit uController;
interface
uses
Sysutils, uAggregatedObj, uContainedObject;
type
IController = interface
['{9238BE74-948B-4CAC-A14C-EA19DD8811E8}']
function GetName(var sName: WideString): HResult; stdcall;
end;
TController = class(TInterfacedObject, IController, IAggInterface, IContainedInterface)
private
FAggObj : IAggInterface;
FContained : IContainedInterface;
public
Constructor Create;
DesTructor Destroy; override;
function GetName(var sName: WideString): HResult; stdcall;
property AggObj : IAggInterface read FAggObj implements IAggInterface;
property cnObj : IContainedInterface read FContained implements IContainedInterface;
end;
implementation
{ TController }
constructor TController.Create;
begin
FAggObj := TAggregatedObj.Create(Self);
FContained := TCnObject.Create(Self);
end;
destructor TController.Destroy;
begin
FAggObj := nil;
FContained := nil;
inherited;
end;
function TController.GetName(var sName: WideString): HResult;
begin
sName := 'I am the Controller!';
Result := S_OK;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -