Erros, bugs, perguntas - página 2707
Você está perdendo oportunidades de negociação:
- Aplicativos de negociação gratuitos
- 8 000+ sinais para cópia
- Notícias econômicas para análise dos mercados financeiros
Registro
Login
Você concorda com a política do site e com os termos de uso
Se você não tem uma conta, por favor registre-se
Por favor, os programadores(@Ilyas) prestem atenção ao bug detectado.
Bug MT5 (build 2377) ao seleccionar a função sobrecarregada apropriada para argumento do tipo ponteiro, a função com conversão do tipo para a classepai em vez da classe base torna-se maior prioridade.
Também não há erro de tempo de compilação quando o ponteiro para a classe base é atribuído ao ponteiro para a classe pai.
Possivelmente um bug relacionado:https://www.mql5.com/ru/forum/1111/page2682#comment_15591437
Obrigado pela mensagem.
Corrigido por
Runtime Error: Incorrect casting of pointers. Expected result: printf("A*");
Permanece como está - este código pode resultar da especialização do modelo (numa parte que não funcionará, mas que afectará a compilação).
Sim, de facto no seu código, na porta 80 cabeçalho é devolvido, na 443 não.
Revisitou o seu código novamente, e não viu aí a função SocketTlsHandshake.
O seu código não faz um aperto de mão. Esta pode ser a razão.
Embora a ajuda para esta função diga que não é necessária se se ligar à porta 443.
Exactamente, este não é o meu código, mas a partir do exemplo dos programadores (as tomadas da MQ têm algumas características pouco intuitivas, que por vezes são descobertas no fórum, por isso recorri ao exemplo padrão). Tentei o SocketTlsHandshake - regressa sempre falso em todas as condições e não tem qualquer efeito sobre a solução. Uma vez que os dados do certificado são devolvidos, o aperto de mão passa. Mesmo o cabeçalho, a julgar pelo seu comprimento, chega, mas simplesmente não regressa ao código MQL. O código de erro é demasiado genérico e o próprio erro é questionável. Precisamos da opinião de um informador.
Não há necessidade de utilizar a função SocketTlsHandshake se a ligação for inicialmente segura ("https://" ou porta 443 ou 465)
A função é utilizada em casos/protocolos especiais
SocketTlsHandshake não precisa de ser utilizado se a ligação for inicialmente assegurada ("https://" ou porta 443 ou 465)
A função é utilizada em casos/protocolos especiais
Não o uso. O código para reproduzir o problema está anexado.
Não o uso. O código para reproduzir o problema está anexado.
Substituir SocketTlsLeitura por SocketTlsLeituraDisponível
Substituir SocketTlsLeitura por SocketTlsLeituraDisponível
Pode ser mais específico? No exemplo da documentação foi utilizada a SocketTlsRead. Porque é que a SocketTlsReadAadisponível não foi aí utilizada?
Quando devo usar uma função e quando devo usar outra?
Como escrever código universal para bloquear uma leitura a partir de uma tomada, adequado tanto para ligações protegidas como não protegidas - não temos a função SocketReadAvailable, pois não?
PS. Alterou a função. O erro não desapareceu. Aqui está o código actualizado. GetLastError retorna 0.
No testador visual, a chamada da funçãoCopyTicksRange do indicadortermina com o erro 4014 (ERR_FUNCTION_NOT_ALLOWED).
O mesmo indicador funciona bem online no mesmo instrumento. Qual é o problema? Esta função é proibida no testador? Não encontrou qualquer menção na ajuda.
No testador visual, a chamada da funçãoCopyTicksRange do indicadortermina com o erro 4014 (ERR_FUNCTION_NOT_ALLOWED).
O mesmo indicador funciona bem online no mesmo instrumento. Qual é o problema? Esta função é proibida no testador? Não o encontrei na ajuda.
Teste por carrapatos reais?
Exactamente, este não é o meu código, mas a partir do exemplo dos programadores (as tomadas da MQ têm algumas características pouco intuitivas que por vezes são descobertas no fórum, por isso recorri ao exemplo padrão). Tentei o SocketTlsHandshake - regressa sempre falso em todas as condições e não tem qualquer efeito na resolução de problemas. Uma vez que os dados do certificado são devolvidos, o aperto de mão passa. Mesmo o cabeçalho, a julgar pelo seu comprimento, vem, mas simplesmente não regressa ao código MQL. O código de erro é demasiado genérico e o próprio erro é questionável. Precisamos da opinião de um informador.
Sim, também fiquei surpreendido que sem o SocketTlsHandshake o certificado seja devolvido.
Mas com a função SocketTlsHandshake, chama o erro.
Há algum tipo de lógica implícita no comportamento.
UPD:
A recomendação de Ilyas já foi vista.
Sim, sem esta característica, não há problema com a ligação.
O problema é a leitura.
Substituir SocketTlsLeitura por SocketTlsLeituraDisponível
Experimentei o mesmo substituto com SocketTlsReadAvailable
O comportamento é o mesmo que comSocketTlsRead
UPD:
O mesmo problema existe quando se usa SocketTlsHandshake num porto diferente.