Erros, bugs, perguntas - página 2579
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
Como é que é um fio vazio? Quando o fio vem de uma tomada, em outras variantes embora esteja torto, mas não está vazio.
Não estou a dizer que a sua variante está errada, mas na sua variante utiliza um conjunto de cordel.
No meu caso, é um ponteiro.
A função socket retorna um ponteiro para const wchar_t *
. É por isso que culpo o bug no mql, porque tentei tantas funções C e hardcore +1 ou +2.
Simplesmente não vai funcionar.
Escreva linhas após memcpy() em paralelo ao arquivo, se mql for culpado (há algum invólucro em cima das chamadas com argumentos de cópia), então o arquivo não estará vazio, provavelmente.
HH: bem, só por precaução - a função da biblioteca em µl é declarada com um link, certo? fn(string & s) vazio?Escreva linhas após memcpy() em paralelo com o ficheiro, se a culpa for do µl (há algum invólucro em cima das chamadas com argumentos de cópia), o ficheiro não estará vazio, suponho eu.
HH: bem, só no caso de - em µl a função biblioteca é declarada com referência ? fn(string & s) vazio?Todas as cordas que exibo ou no gráfico no comentário, ou no terminal de impressão, quando a corda chega é imediatamente visível, no comentário pode ver se está torta ou não.
Em geral, há um problema com fio de mql. Experimentou e testou muitas variantes.Quando há grandes lapsos de tempo, o cordel raramente aparece no gráfico, e há buracos na impressão.
A dúvida de que nenhuma corda está a entrar da tomada desapareceu, os dados da carraça entram à taxa de milissegundos.
A partir do socket getData() recebeu uma variável ponteiro, a partir da variável ponteiro copio directamente para mql, sem invólucros.
Sim declarado por feng shui ))
O fio da tomada vem com terminal nulo, e a função de verificação mais fiável
mostra o problema em mql.
Em geral, vou usar sizeof(wichar_t*) por agora e ver o comportamento.
Mas provavelmente para estar a salvo de alterações da MQ, vou realmente escrever cordas em arrays.
Palavras de ouro. É claro que gostaria de usar cordel, mas como não há nenhum padrão que descreva a sua implementação e/ou comportamento de transferência em dll, é puro ub. E assim, resumindo[] e pode passar a matriz em segurança; a única coisa é a sobrecarga da criação e cópia de uma matriz.
PS. Ainda assim, penso que o problema não está em mql, mas no seu código. Todos os testes passaram normalmente, e não há nada de logicamente errado com o cordel, o cordel é um invólucro trivial sobre o wchar_t *, ou melhor, sobre o cordel, que o poderia estragar.
Boas palavras. É claro que gostaríamos de usar cordel, mas como não há nenhum padrão que descreva a sua implementação e/ou comportamento de transferência em dll, é puro ub. E assim, resumindo[] e pode passar a matriz em segurança; a única coisa é a sobrecarga da criação e cópia de uma matriz.
PS. Ainda assim, penso que o problema não está em mql, mas no seu código. Todos os testes passaram normalmente, e não há nada de logicamente errado com o cordel, o cordel é um invólucro trivial sobre o wchar_t *, ou melhor, sobre o cordel, que o poderia estragar.
Também eu tinha as minhas dúvidas sobre a libertação, não excluo nada como razão possível.
Mas eu converti a string recebida do soquete para códigos ASCII, pode-se ver que a string está correcta.
A seguir vem uma cópia simples,
O mql não aceita correctamente o ponteiro de cordas.
Todas as linhas que exibo ou no gráfico no comentário, ou no terminal de impressão, quando a linha chega é imediatamente visível no comentário pode ver se está torta ou não.
Em geral, há um problema com fio de mql. Testado e testado muitas variantes.Quando há grandes atrasos, a linha raramente aparece no gráfico, enquanto que existem buracos na impressão.
A dúvida de que o fio da tomada não está a chegar, os dados da carraça estão a chegar à taxa de milissegundos.
Do socket getData() levado para a variável ponteiro, da variável ponteiro I copio imediatamente para mql, sem invólucros.
Sim declarado por feng shui ))
O fio da tomada vem com terminal nulo, e a função de verificação mais fiável
mostra o problema em mql.
Em geral, vou usar sizeof(wichar_t*) por agora e ver o comportamento.
Mas provavelmente para estar a salvo de alterações da MQ, vou realmente escrever cordas em arrays.
Escrever para o ficheiro - quis dizer no lado dll, se o ficheiro for escrito, mas não entrar no μl, já é um argumento de peso com uma queixa de bug, talvez corrigido.
E há um invólucro sem o seu desejo, MQ esconde código/endereço do mundo exterior, tudo não vai directamente.
Escrever para ficheiro - quis dizer no lado dll, se escreve para ficheiro, mas não chega ao mql, então já é um argumento forte com alegação de erro, talvez corrigido.
E há um invólucro sem o seu desejo, os MQs escondem código/endereço do mundo exterior, tudo não vai directamente.
Escreveu as cordas recebidas para um ficheiro.
Uma vez que a função tomada devolve um ponteiro a uma corda, um ponteiro à corda é escrito no ficheiro, e depois este ponteiro é copiado para mql.
Utilização da função
O comprimento do cordel resultante é de 164, o mql é atribuído 200.
A cadeia copiada recebida em mql é de igual comprimento, contudo existem algumas lacunas na cópia.
Em mql script, enquanto loop é loopado com Sleep(1)
Depois não há lacunas, mas as linhas copiadas não são rectas, há caracteres extra no fim da linha.
Adicionarwcslen(data)+1 nãoajuda.
Resumindo, de todas as páginas que estou a escrever aqui.
mql string não aceita correctamente da dll, copiado ponteiro para a string const wchar_t*
Correcto, atribuo um amortecedor de cordel para fora, e inicializo-o com espaços.
Depois passo esta string(ponteiro) para dll.
Na dll wchar_t* os dados são copiados para fora, ou seja, é também um ponteiro. Logicamente, não deverá haver problemas.
Tal como o entendo de acordo com a ajuda, a função StringInit deve definir o comprimento da corda.
Mas ainda tenho alguns problemas com a própriafunção StringInit; especifiquei o comprimento da corda e fiquei esquisito quando apontei para o tamanho do ponteiro.
Não percebo a que comprimento manual de corda se refere.
E se usar sizeof(wchar_t) sem um ponteiro, a corda começa a flutuar com caracteres extra, o que causa problemas com a análise e vazamento.
Para passar as cordas para dll usei o exemplo de Renat, do seu artigo sobre como escrever uma dll.
Mas por alguma razão, se eu o passar sem ponteiro sizeof(wchar_t), o fio flutua, enquanto com o ponteiro sizeof(wchar_t*) não há problema.
Parece-me lógico, estou a copiar o fio como apontador, pelo que o tamanho deve ser passado para o apontador e não para o tipo.
Por vezes faz-se bem - não funciona.
Fazendo-o mal - parece funcionar.
Nesses casos, é necessário fazê-lo correctamente e procurar um erro noutro lugar.
Escreveu a cadeia resultante em ficheiro.
Uma vez que a função tomada devolve um ponteiro a uma corda, um ponteiro à corda é escrito no ficheiro e depois este ponteiro é copiado para mql.
Utilização da função
O comprimento do cordel resultante é de 164, o mql é atribuído 200.
A cadeia copiada recebida em mql é de igual comprimento, contudo existem algumas lacunas na cópia.
Em mql script, enquanto loop é loopado com Sleep(1)
1. Na MQL é copiado um fio, não um ponteiro.
2. Seleccionou uma cadeia de 200 caracteres em MQL. Depois copiou 164 caracteres para o mesmo. Depois disso, ver o tamanho da linha em MQL. Restou 200.
Por vezes faz-se bem - não funciona.
Fazendo-o mal - parece funcionar.
Nesses casos, é preciso fazer a coisa certa e procurar o erro noutro lugar.
Por isso, para acertar, desisti da memória, e usei wcscpy ou wcsncncpy.
Resultado, poste acima.