GARANTIR DESCONTO

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 -|-


Eixox

Eixox

Responder

Posts

22/02/2005

Massuda

Uso a versão 9 do Indy.
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;
gera a seguinte sequencia de strings:
> 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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar