Identificador de propriedade do objecto. Ovalor DEVE ser um dos valores deENUM_OBJECT_PROPERTY_INTEGERenumeração.
O requisito de um fantasma explícito para este tipo é confirmado pela única variante compilada em cinco (verifique-o você mesmo). Sem este fantasma, o compilador queixa-se da ausência de sobrecargas correspondentes.
Ou seja, quando terminou a sua leitura, pensou "O valor pode ser um dos valores da enumeraçãoENUM_OBJECT_PROPERTY_INTEGER. Ou pode não ser. E o que não pode ser especificado na documentação, pelo que tudo o que não seja proibido é permitido. Uma vez que estamos a alargar os princípios da vida social à programação".
O que será que o MetaEditor lhe disse sobre o tipo do parâmetro correspondente quando define os parâmetros desta função?
Ou seja, ao terminar a sua leitura, pensa "O valor pode ser um dos valores da enumeraçãoENUM_OBJECT_PROPERTY_INTEGER. Ou pode não ser. E o que não pode ser especificado na documentação, pelo que tudo o que não seja proibido é permitido. Uma vez que estamos a alargar os princípios da vida social à programação".
Não, eu não pensava assim. Pensei que se o código compilado correctamente com MT4, também deveria ser compilado correctamente com MT5. Quando não o fez, comecei a cavar. Verifique o código no MT4 e no MT5 e certifique-se
Não, eu não pensava assim. Pensei que se o código compilado sem erros sob MT4, deveria também ser compilado sem erros sob MT5. Quando não o fez, comecei a cavar. Verifique o código no MT4 e no MT5 e certifique-se
Porquê?
MT4 e MT5 têm uma arquitectura intrinsecamente diferente
Ao traduzir a MQL4 da sintaxe antiga para a nova (o que se chama MQL4+) tivemos de olhar para a sintaxe antiga da MQL4 que tinha muitas coisas em falta, incluindo enumerações.
MT4 e MT5 têm uma arquitectura diferente desde o início
Ao migrar a MQL4 da sintaxe antiga para a nova (o que se chama MQL4+) tivemos de olhar para a sintaxe anterior da MQL4 que tinha muitas coisas em falta, incluindo enumerações.
Pode-se argumentar durante muito tempo sem sucesso. O facto é que, se a documentação não fosse intrigante, mas como na dica ao digitar o nome da função, teria imediatamente encontrado a causa da repreensão do compilador (não era óbvio no exemplo com o modelo). Porque de acordo com a documentação, o código deveria ter sido compilado tal como está escrito e "pode". O que me impede de fazer corresponder a documentação e as pontas de ferramentas - não sei. Mas para o futuro lembrar-me-ei que em caso de mal entendido é melhor olhar para o que as pontas dos instrumentos mostram do que para a documentação.
Por exemplo, na descrição do ObjectSetInteger agora
Deve ser
Leia todos os artigos até ao fim.
prop_id
[em] Identificador do bem objecto. O valor pode ser um dos valores da enumeração ENUM_OBJECT_PROPERTY_INTEGER.
Ler os fios até ao fim
Já vos disse. Leia a documentação cuidadosamente, sem um sabre na mão.Leia MUITO cuidadosamente e até ao fim. A sua citação é de lá
Identificador de um bem objecto. O valor pode serum dos valores da enumeraçãoENUM_OBJECT_PROPERTY_INTEGER.
Deve ser
Identificador de propriedade do objecto. Ovalor DEVE ser um dos valores deENUM_OBJECT_PROPERTY_INTEGERenumeração.
O requisito de um fantasma explícito para este tipo é confirmado pela única variante compilada em cinco (verifique-o você mesmo). Sem este fantasma, o compilador queixa-se da ausência de sobrecargas correspondentes.
Ou seja, quando terminou a sua leitura, pensou "O valor pode ser um dos valores da enumeraçãoENUM_OBJECT_PROPERTY_INTEGER. Ou pode não ser. E o que não pode ser especificado na documentação, pelo que tudo o que não seja proibido é permitido. Uma vez que estamos a alargar os princípios da vida social à programação".
O que será que o MetaEditor lhe disse sobre o tipo do parâmetro correspondente quando define os parâmetros desta função?
Ou seja, ao terminar a sua leitura, pensa "O valor pode ser um dos valores da enumeraçãoENUM_OBJECT_PROPERTY_INTEGER. Ou pode não ser. E o que não pode ser especificado na documentação, pelo que tudo o que não seja proibido é permitido. Uma vez que estamos a alargar os princípios da vida social à programação".
Não, eu não pensava assim. Pensei que se o código compilado correctamente com MT4, também deveria ser compilado correctamente com MT5. Quando não o fez, comecei a cavar. Verifique o código no MT4 e no MT5 e certifique-se
O que será que o MetaEditor lhe disse sobre o tipo de parâmetro relevante quando datilografou os parâmetros desta função?
Corrigiu-o correctamente utilizando a especificação que forneci acima. Na documentação, é int.
Não, eu não pensava assim. Pensei que se o código compilado sem erros sob MT4, deveria também ser compilado sem erros sob MT5. Quando não o fez, comecei a cavar. Verifique o código no MT4 e no MT5 e certifique-se
Porquê?
MT4 e MT5 têm uma arquitectura intrinsecamente diferente
Ao traduzir a MQL4 da sintaxe antiga para a nova (o que se chama MQL4+) tivemos de olhar para a sintaxe antiga da MQL4 que tinha muitas coisas em falta, incluindo enumerações.
comp, vamos ser voluntários a ler apenas durante uma semana. Seja um leitor, não um escritor.
Tudo aquilo de que aqui fala foi discutido muitas vezes, não só neste fórum, mas também na MQL4.com.
Porquê?
MT4 e MT5 têm uma arquitectura diferente desde o início
Ao migrar a MQL4 da sintaxe antiga para a nova (o que se chama MQL4+) tivemos de olhar para a sintaxe anterior da MQL4 que tinha muitas coisas em falta, incluindo enumerações.