if Sock <> INVALID_SOCKET then
  begin
    Result := True;
    ClientSocket.FActive := True;
    ClientSocket.FConnected := True;
    ClientSocket.FSocket := Sock;
    ClientSocket.FDomain := FDomain;
    ClientSocket.SockType := FSockType;
    ClientSocket.FProtocol := FProtocol;
    ClientSocket.FBlockMode := FBlockMode;
    ClientSocket.FRemoteHost := inet_ntoa(addr.sin_addr);
    ClientSocket.FRemotePort := IntToStr(ntohs(addr.sin_port));
    DoAccept(ClientSocket);
  end;
DoAccept(ClientSocket);怎么理解什么意思if Assigned(FOnAccept) then
    FOnAccept(Self, ClientSocket);
函数指针指向哪个函数呢求解