728x90

1. 이벤트 핸들러 생성

Type
  TAddConnectionInfoEvent = procedure(AConnInfo : TConnectionInfo) of object;

2. 이벤트 속성으로 정의

Type
  TERDModel=class
  private
    fOnAddConnectionInfo : TAddConnectionInfoEvent;
  public
    procedure AddConnectionInfo(aConnectionInfo : TConnectionInfo);
    property OnAddConnectionInfo : TAddConnectionInfoEvent read fOnAddConnectionInfo write fOnAddConnectionInfo;
  end;

3. 이벤트 호출

procedure TERDModel.AddConnectionInfo(aConnectionInfo : TConnectionInfo);
begin
  if Assigned(OnAddConnectionInfo ) then OnAddConnectionInfo(aConnectionInfo);
end;

4. 호출될 이벤트 구현

Type
  TErdMainFm=class(TLocalForm)
  private
    procedure ERDModelAddConnection(AConnInfo : TConnectionInfo);
  end;

implementation

procedure TErdMainFm.ERDModelAddConnection(AConnInfo : TConnectionInfo);
begin
  ShowMessage('나 호출되었어요.');
end;

5. 이벤트 등록

procedure TErdMainFm.FormCreate(Sender: TObject);
var
  ERDModel : TERDModel;
begin
  ERDModel := TERDModel.Create();
  ERDModel.OnAddConnectionInfo := ERDModelAddConnection;
end;

728x90

+ Recent posts