Fórum Componente Indy e seu Status #269725
22/02/2005
0
Estimados amigos,
Estou precisando recuperar o Status de um componente IdTcpServer, sabendo que:
O Status do componente pode ser obtido através da função OnStatus e através das seguintes constantes - AStatus: TIdStatus e AStatusText: String.
AStatus pode possuir um dos seguintes valores já que é um array:
hsResolving, hsConnecting, hsConnected, hsDisconnecting, hsDisconnected e hsText - Sendo que esse último gera um pau endiabrado travando o sistema devido a um erro. Porém todos os anteriores são os mais interessantes e importantes.
O grande problema é que não estou conseguindo capturar essas mensagens do componente .
Agradeço desde já pelas possíveis soluções que possam me enviar.
Eixox -|-
Estou precisando recuperar o Status de um componente IdTcpServer, sabendo que:
O Status do componente pode ser obtido através da função OnStatus e através das seguintes constantes - AStatus: TIdStatus e AStatusText: String.
AStatus pode possuir um dos seguintes valores já que é um array:
hsResolving, hsConnecting, hsConnected, hsDisconnecting, hsDisconnected e hsText - Sendo que esse último gera um pau endiabrado travando o sistema devido a um erro. Porém todos os anteriores são os mais interessantes e importantes.
O grande problema é que não estou conseguindo capturar essas mensagens do componente .
Agradeço desde já pelas possíveis soluções que possam me enviar.
Eixox -|-
Eixox
Curtir tópico
+ 0
Responder
Posts
22/02/2005
Massuda
Uso a versão 9 do Indy.
Em particular, o evento TIdTCPServer.OnStatus nunca é gerado pelo componente, por isso você não está conseguindo usar o evento. A razão disso me parece ser o fato de que os status gerados (indicados por TIdStatus) serem basicamente situações que ocorrem no cliente e não no servidor.
Por outro lado, o evento TIdTCPClient.OnStatus funciona sem problemas... por exemplogera a seguinte sequencia de strings:
Estou precisando recuperar o Status de um componente IdTcpServer, sabendo que: O Status do componente pode ser obtido através da função OnStatus ... O grande problema é que não estou conseguindo capturar essas mensagens do componente.
Quase todos os componentes do Indy possuem o evento OnStatus, mas nem todos os componentes geram esse evento.Em particular, o evento TIdTCPServer.OnStatus nunca é gerado pelo componente, por isso você não está conseguindo usar o evento. A razão disso me parece ser o fato de que os status gerados (indicados por TIdStatus) serem basicamente situações que ocorrem no cliente e não no servidor.
Por outro lado, o evento TIdTCPClient.OnStatus funciona sem problemas... por exemplo
procedure TForm1.IdTCPClient1Status(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String); begin Memo1.Lines.Add(´> ´ + AStatusText); end;
> Resolving hostname localhost.
> Connecting to 127.0.0.1.
> Connected.
> Disconnected.
Responder
Gostei + 0
23/02/2005
Eixox
Muito obrigado pela sua colaboração.
Só fico triste por saber que não consigo capturar o status do servidor. Porém o mais estranho é saber que todos os endemonhados dos componentes Indy são descendentes do objeto IdComponent. Logo, por ser um ´filhote degenerado´ desse componente mais geral, o IdTCPServer sofre novamente e passa a ser de filhote degenarado para um filho bastardo sem qualquer direito a herança.
Espero que eu não esteja falando besteiras.
Mais uma vez obrigado pela sua ajuda.
Só fico triste por saber que não consigo capturar o status do servidor. Porém o mais estranho é saber que todos os endemonhados dos componentes Indy são descendentes do objeto IdComponent. Logo, por ser um ´filhote degenerado´ desse componente mais geral, o IdTCPServer sofre novamente e passa a ser de filhote degenarado para um filho bastardo sem qualquer direito a herança.
Espero que eu não esteja falando besteiras.
Mais uma vez obrigado pela sua ajuda.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)