我有一個自定義組件(減少)應針對與德爾福組件活動
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;
的二傳手,但我得到的感覺是,它會回來困擾我...
謝謝你,似乎基本上是我開始做的,但有更多的想法放在它:) – 2010-01-25 05:21:34
好聽,它有幫助;) – jachguate 2010-01-26 03:32:28