【发布时间】:2011-01-04 11:32:42
【问题描述】:
我有一个自定义组件(删减)
TMyComponent = class(TComponent)
public
procedure ClientConnected;
published
property ClientSocket: TClientSocket Read ...etc
现在我在 ClientSocket 调用 ClientConnected 的 OnConnect 事件中,例如
procedure TForm1.ElvinClient1Connect(Sender: TObject; Socket: TCustomWinSocket);
begin
MyComponent1.ClientConnected;
end;
有没有办法在 TMyComponent 类中做到这一点而不需要外部事件?
编辑:
忘了说ClientSocket不是由组件创建的,它是在运行时分配的。
我也尝试过使用私有 Proc
procedure TMyComponent.OnClientConnected(sender: TObject);
begin
ClientConnected;
if Assigned(oldOnClientConnected) then
oldOnClientConnected(sender);
end;
以及 ClientSocket 的设置器
procedure TMyComponent.SetClientSocket(const Value: TClientSocket);
begin
fClientSocket := Value;
oldOnClientConnected:= fClientSocket.OnElvinConnected;
fClientSocket.oldOnClientConnected:= OnClientConnected;
end;
但我感觉它会回来困扰我......
【问题讨论】:
标签: delphi events components delphi-7