ucontroller.pas
来自「多数代码可以直接在Delphi6和Delphi7环境下运行。部分涉及.NET技术」· PAS 代码 · 共 51 行
PAS
51 行
unit uController;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
Windows, ActiveX, Classes, ComObj, pAggregateDemo_TLB, StdVcl, uAggregatedObj;
type
TController = class(TTypedComObject, IController)
private
FAggregatedObj : IAggInterface;
protected
function GetName(var sName: WideString): HResult; stdcall;
function GetInnerName(var sName: WideString): HResult; stdcall;
{Declare IController methods here}
public
Destructor Destroy; override;
end;
implementation
uses ComServ;
destructor TController.Destroy;
begin
FAggregatedObj := nil;
inherited;
end;
function TController.GetInnerName(var sName: WideString): HResult;
begin
if (FAggregatedObj = nil) then
FAggregatedObj := TAggregatedObj.Create(Self);
FAggregatedObj.GetInnerName(sName);
Result := S_OK;
end;
function TController.GetName(var sName: WideString): HResult;
begin
sName := 'I am Controller!';
Result := S_OK;
end;
initialization
TTypedComObjectFactory.Create(ComServer, TController, Class_Controller,
ciMultiInstance, tmBoth);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?