Ir para conteúdo
Fórum Script Brasil
  • 0

Aplicação Multithread Com Sockets E Sqlserver


rmpena25

Pergunta

Tenho uma aplicação que sockets e é multithread. OS clientes se conectam a aplicação via GPRS (conexão TCP usando GSM). Tenho tido um problema que a aplicação funciona em um determinada período (aprox. 2 horas) e depois começa a dar erro de Access violation na abertura das queries. Uso o Delphi 7, SQL server 7 e para usar Sockets eu uso o IdTCPServer (paleta indy). Para acessar o SQL uso o ADO. Alguém pode dar uma dica?

Uma dúvida, o ADO é Thread-safe?

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

bom, já tive programas meus que paravam de funcionar dps de certo tempo tmb, e descobri em varios que era porque não tirava um componente da memoria apos usa-lo quando criados em run time ... pode ser isso no seu programa,,,,

voce pode me explicar como funcionar esse GPRS ? é para celulares ? o que é ?

Link para o comentário
Compartilhar em outros sites

  • 0

Também tinha esses problemas... hoje sempre crio e libero as queries (e stringlists também), assim:

Var

Query: TQuery;

Lista: TStringList;

Begin

Query := TQuery.Create;

Lista := TStringList.Create;

Query.DataBaseName := 'acme';

// Processo as queries...

//

//

// Finalmente,

Query.Free

// O mesmo com os stringlists

Lista.LoadFromFile('c:\temp\nada.txt');

// Tarefas com a stringlist.

//

//

// Finalmente,

Lista.Free

End;

Link para o comentário
Compartilhar em outros sites

  • 0

Tenho liberado os componentes da memória também. O que eu tenho observado é que a minha aplicação não está conseguindo liberar os handles do Socket. Vou ter que dar uma pesquisada melhor sobre esse assunto.

Quanto ao GPRS, é um protocolo de comunicação onde é o trafego de informação é feito atraves de conexões de tcp/ip. As operadoras de celular GSM disponibilizam esses serviços atraves de um contrato especifico com esse protocolo. Só para exemplificar, (para que é de São Paulo) o bilhete único implantado nos onibus coletivos, as catracas eletronicas se comunicam com uma central atraves desse protocolo e assim é possivel saber quando foi a data e hora que a pessoa passou pela primeira vez e a partir dai começa a contas as 2 horas.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...