Erro com componente Async

28/01/2006

0

Caros amigos,

Estou usando o componente Async para fazer um programa que atenda chamas telefônicas, e, receba os números digitados no teclado pela pessoa que originou a chamada.

Para saber como anda a ligação e que mensagem devo mandar, uso assim:

Const
Estadoatual : Integer = 0;
Boasvindas = 0;
.
.
.

O meu problema vem no seguinte código:

Estadoatual := Boasvindas;

Que seria determinar que a ligação está no começo, mas quando tento executar dá o seguinte erro, e já tentei de tudo mas não funciona:

[Error] ExVoice0.pas(142): Left side cannot be assigned to

Este é o erro.

Por favor, quem puder me ajudar, ficarei muito grato...


Franthesco

Franthesco

Responder

Posts

30/01/2006

Massuda

Você declarou EstadoAtual como const, ou seja, é uma constante.

Nas versões mais antigas do Delphi, o default era que constantes tipadas pudessem ser alteradas.

Nas versões mais novas o default é que constantes são constantes, mas você pode habilitar o comportamento antigo marcando a opção [b:ef2584ae89]Assignable typed constants[/b:ef2584ae89] em[b:ef2584ae89]Project|Options|Compiler[/b:ef2584ae89] ou simplesmente declare EstadoAtual como sendo uma variável ao invés de constante.


Responder

30/01/2006

Franthesco

Massuda, obrigado por sua resposta...

Agora, meu problema está em transferir a ligação, eu coloco uma wave para tocar, mas ela toca no telefone destino, e não no telefone que originou a chamada...

Estou fazendo assim:

ApdTapiDevice.SendTone (´! 36´);
ApdTapiDevice.PlayWave (´Caminho da wave´);

Mas, como disse, ele toca no telefone destino...

Outra coisa, como eu poderia fazer para que a wave parasse automaticamente, após o ramal atender. Atualmente, eu não estou usando wave nas transferências, simplemente, mando transferir, e dou um cancelcall. Mas o certo, creio eu, seria só dar o cancelcall após o ramal destino atender, enquanto isso, o sistema fica enviando uma musiquinha....

Bem, desde já agradeço a ajuda...

Abraços a todos!


Responder

30/01/2006

Massuda

Lembro desse exemplo (ExVoice), mas nunca mexi muito nele pois a empresa onde trabalhava na época acabou comprando um atendedor.

Não tenho certeza, mas acho que depois que você manda...
ApdTapiDevice.SendTone (´! 36´);
...a ligação já é transferida, acho que você devia tocar o wave e depois mandar esses comandos.


Responder

30/01/2006

Franthesco

Massuda,

Consegui resolver os problemas...

Obrigado por sua ajuda!!!


Abraços!


Responder

31/01/2006

Franthesco

Amigos...

Agora estou com outro problema... Não sei nem por onde começar...

É o seguinte...

A pessoa liga para a empresa, o computador (ramal 1) atende, solicita que a pessoa digite informações, e, se as informações coincidirem com o que há no banco de dados, transfere para o ramal 2. Até aí tudo bem...

O problema é : como saber se o ramal 2 está ocupado, para transferir a ligação mais tarde, ou até mesmo outro ramal (como um atendente faria) e também, como saber que o ramal 2 atendeu, para cortar a relação:

Telefone que originou - Ramal 1 (Computador)

E deixá-la assim:

Telefone que originou - Ramal 2 (Operador)

Bem... Não sei se fui claro...

Uso um PABX Batik Flex 4... Delphi 7.0... Componente AsyncTurboPro...

Quem puder me ajudar, ficarei muitissimo grato...

Abraços a todos!


Responder

01/02/2006

Franthesco

Sobe...



To realmente precisnado...

Pelo menos de uma luz, uma dica, uma sugestão...

Abraços...


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar