Ir para conteúdo
  • Cadastre-se

Rafael L. Costa

Membros
  • Total de ítens

    2
  • Registro em

  • Última visita

Rafael L. Costa's Achievements

Newbie

Newbie (1/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In

Recent Badges

2

Reputação

  1. Estou usando um mini-modem 3G USB da marca HUAWEI, modelo E173 com chip Tim-Beta e também estava recebendo a mensagem de erro "Error +cms 305" sempre que tentava enviar uma mensagem com mais de um caractere. E mesmo quando conseguia enviar usando apenas 1 caractere a mensagem chegava completamente em branco para o destinatário. Depois de pesquisar um pouco achei em um fórum gringo um cara explicando que esse erro ocorre dependendo do tipo do modo de envio, e que para enviar somente texto deve-se usar o comando "AT+CSCS="GSM". A partir daí foi só mudar na unit ACBRSMSClass a seguinte linha: // definir o modo de envio *************************************************** Cmd := 'AT+CSCS="GSM"'; // 'AT+CMGF=1'; Self.EnviarComando(Cmd); if not Self.ATResult then raise EACBrSMSException.Create(FALHA_INICIALIZACAO + sLineBreak + fpUltimaResposta); Depois dessa alteração funcionou perfeitamente e consegui enviar sem problemas. Não entendo muito sobre o funcionamento do SMS mas acho que poderíamos fazer uma alteração no componente para permitir selecionar o modo de envio do texto para aumentar a compatibilidade com outros modems e outros serviços de envio. Eu estou disposto a fazer essa alteração na classe, se aceitarem, ou deixo aqui a idéia para que a alteração seja feita por alguém que entenda melhor do assunto. UM abraço!
  2. Eu estava tendo o mesmo problema de foco. Tive que criar uma procedure à parte para resolver o problema, chamando essa procedure no evento OnRestauraFoco do componente ACBrTEFD. Segue o código da procedure: procedure RestauraFoco; var Form: TForm; Habilitado: Boolean; begin try Form := nil; //Verifica se já existe um form ativo na tela. if Assigned(Screen.ActiveForm) then Form := Screen.ActiveForm //Do contrário, pega o último form criado else if Assigned(Screen.Forms[Screen.FormCOunt - 1]) then Form := Screen.Forms[Screen.FormCOunt - 1]; if Assigned(Form) then begin //Verifica o estado da propriedade 'Enabled' do form Habilitado := Form.Enabled; //Habilita o form para permitir que o foco seja setado para o mesmo Form.Enabled := TRUE; //Envia o Form em questão para a frente da tela SetForeGroundWindow(Form.Handle); //Seta o foco da aplicação para o form if Form.CanFocus then Form.SetFocus; Form.Refresh; //Retorna a propriedade 'Enabled' para o estado anterior Form.Enabled := Habilitado; end; except end; end; Obs.: Eu uso a procedure no início do evento OnExibeMsg também, pra garantir que a aplicação terá foco no momento em que a mensagem for exibida.
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...