⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ucoabout.~pas

📁 Rose2003自定义插件开发代码示例,delphi版本
💻 ~PAS
字号:
unit uCoAbout;

interface

uses
  ComObj, ActiveX, AxCtrls, Classes, RoseMagic_TLB, StdVcl;

type
  TCoAbout = class(TAutoObject, IConnectionPointContainer, ICoAbout)
  private
    { Private declarations }
    FConnectionPoints: TConnectionPoints;
    FConnectionPoint: TConnectionPoint;
    FSinkList: TList;
    FEvents: ICoAboutEvents;
  public
    procedure Initialize; override;
  protected
    { Protected declarations }
    property ConnectionPoints: TConnectionPoints read FConnectionPoints
      implements IConnectionPointContainer;
    procedure EventSinkChanged(const EventSink: IUnknown); override;
    procedure Start(const RoseInstant: IDispatch); safecall;
  end;

implementation

uses ComServ,fuAbout;

procedure TCoAbout.EventSinkChanged(const EventSink: IUnknown);
begin
  FEvents := EventSink as ICoAboutEvents;
  if FConnectionPoint <> nil then
     FSinkList := FConnectionPoint.SinkList;
end;

procedure TCoAbout.Initialize;
begin
  inherited Initialize;
  FConnectionPoints := TConnectionPoints.Create(Self);
  if AutoFactory.EventTypeInfo <> nil then
    FConnectionPoint := FConnectionPoints.CreateConnectionPoint(
      AutoFactory.EventIID, ckSingle, EventConnect)
  else FConnectionPoint := nil;
end;


procedure TCoAbout.Start(const RoseInstant: IDispatch);
begin
  with TfrmAbout.Create(nil) do
  begin
    ShowModal;
    Free;
  end;
end;

initialization
  TAutoObjectFactory.Create(ComServer, TCoAbout, Class_CoAbout,
    ciMultiInstance, tmApartment);
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -