Desenvolvedores! Testa sequer o que cria? - página 15

 

Caros programadores! Testa realmente o que liberta?

Instalei o Windows 8.1 64 bit - licenciado - no meu computador. E depois tive alguns problemas. Primeiro, instalei Metatrader 4 em autorun em C:\Program Files (x86). Quando se tentava escrever ficheiros, os problemas começaram. Como se verificou, este Windows elevou, desculpem a minha linguagem, merda de segurança, e eu sou o único utilizador e administrador do computador que não pode fazer nada no directório do sistema até eu clicar "Como administrador". Depois de ler o fórum, decidi reinstalar o Metatrader 4 não em Ficheiros de Programas (x86), mas noutra pasta especialmente criada para este fim na minha unidade C, pré-instalada MT4. Mas não funcionou. O desinstalador disse, que não tem direitos para o fazer. Realmente não fazia ideia do que fazer com ela e lutei com o meu problema de desinstalação. Fiz tudo o que pude. Como administrador, e permitindo a todos em Segurança fazer qualquer coisa. Até reinstalei o Windows novamente. No total, levei quase 2 dias. Depois encontrei acidentalmente uma pequena mensagem no fórum MT English, que se deve verificar o modo de compatibilidade para Win XP SP3, e colocar um tick - executar a operação como administrador. Depois só como administrador é que o terminal foi desinstalado. Respirei um pequeno suspiro de alívio.

Depois decidi instalar o Metatrader 5. Sabendo que era perigoso instalá-lo no directório do sistema, instalei-o numa pasta especialmente criada na unidade C. O meu instalador não me perguntou se eu queria instalar a versão de 64 bits e instalei à força o MT5 da versão de 64 bits. Tentei trabalhar com ele. Após algumas etapas, como criar indicadores, escrever ficheiros e tentar ligar DLL, descobri que os Ficheiros e Bibliotecas estão em falta no directório de instalação. Mas nem ficheiros DLL, nem mesmo exemplos descarregados da Base de Código foram criados ou chamados para compilação. Gastei muito tempo e nervosismo para encontrar a causa. Depois acabei de comentar TerminalPath - para onde desaparece tudo? Acontece com a pasta C:\Users\\AppData. Tentei encontrá-lo - sem sorte. Não estava de todo listado. Depois, de alguma forma, percebi que estava escondido. E descobri na Internet como permitir que as pastas escondidas fossem mostradas. Sim, todas as pastas e ficheiros necessários apareceram em C:Utentes....AppDataRoamingMetaQuotes Embora tenha evitado propositadamente os directórios do sistema para evitar problemas desnecessários. Não, o instalador é que os criou. Isto é, compreende, que o simples utilizador não podia fazer o que eu fazia antes de chegar a estas pastas.

A seguir tentei ligar a DLL. Silencioso como num tanque - não o vê, não importa onde o empurraria. Foi criado em VS2013 Desktop em C++, última versão e funcionou com sucesso em MT4. Depois de olhar para um exemplo do artigo "Como escrever uma DLL em 10 minutos", passei meia noite como um tolo a tentar ligá-la. Depois mudei os caminhos e o terminal finalmente viu-o e avisou que não era uma DLL de 64 bits e recusou-se a ligá-lo. Claro que compreendi que em todos os exemplos as DLL são criadas como uma aplicação Win32 e não vão criar 64 bits. Bem, o que fazer a seguir? Decidi experimentar o MT5 - 32 bits. O meu instalador não me deixou fazê-lo e obrigou-me a instalar 64 bits. Mais tarde, deparei-me com um fórum em que MT5 32 bits podem ser instalados a partir da linha de comando {mt5setup.exe /32) e instalei a versão 32 bits. Liguei DLLs e tudo funcionou bem. Tive de desinstalar a versão de 64 bits, pois era uma aplicação morta e problemática.

Descrevi tudo tão exaustivamente para que os criadores tentassem entrar na pele de um utilizador.

Pergunta. A questão é porque é que, apesar de eu não instalar no directório do sistema, o instalador ainda coloca tudo em pastas escondidas, às quais eu simplesmente não consigo chegar, pelo menos para as colocar a partir dos indicadores ou scripts da Base de Código. E eu não consegui chegar à pasta Ficheiros onde poderia escrever alguns resultados do meu trabalho? Para ser honesto, tive um impulso emocional para mandar o MT5 para longe, com todos estes problemas, desculpem a expressão - vampirismo do tempo e energia nervosa e defeitos. Mas eu resisti através de pura força.

E a segunda pergunta. As DLL's de 32 bits devem estar disponíveis na versão de 64 bits, porque o terminal de 64 bits está meio morto sem ele?

E mais uma pergunta. Existem planos para fornecer uma oportunidade de ligação C# DLL para criar DLLs de 64 bits sem qualquer problema?

E mais uma coisa. A Microsoft vai para uma tentativa quase forçada de substituir C++ por C# como a principal linguagem de programação. No último VS2013 até removeram a capacidade de definir o trabalho com formulários e responderam à pergunta "porquê?" no fórum com a pergunta "porque não tentar usar C#? mais perfeito". Acontece então que, a longo prazo, C++ pode ir para o 2º lugar ou desaparecer por completo. O novo terminal deve ser feito com C# como base da língua?

 
ANG3110:

Depois decidi instalar o Metatrader 5. Sabendo que era perigoso instalá-lo no directório do sistema, instalei-o numa pasta especialmente criada para o efeito na minha unidade C. Tentei trabalhar com ele. Após algumas etapas, como criar indicadores, escrever ficheiros e tentar ligar DLL, descobri que os Ficheiros e Bibliotecas estão em falta no directório de instalação. Mas nem ficheiros DLL, nem mesmo exemplos descarregados da Base de Código foram criados ou chamados para compilação. Gastei muito tempo e nervos para encontrar a causa. Depois acabei de comentar TerminalPath - para onde desaparece tudo? Acontece com a pasta C:\Users\\AppData. Tentei encontrá-lo - sem sorte. Não estava de todo listado. Depois, de alguma forma, percebi que estava escondido. E descobri na Internet como permitir que as pastas escondidas fossem mostradas. Sim, todas as pastas e ficheiros necessários apareceram em C:Utentes....AppDataRoamingMetaQuotes Embora tenha evitado propositadamente os directórios do sistema para evitar problemas desnecessários. Não, o instalador é que os criou. Portanto, compreende que um simples utilizador não pode fazer o que eu fiz antes de chegar a estas pastas.


depois de instalar o terminal de 64 bits, não o abra imediatamente, crie primeiro um atalho, e nas propriedades onde o objecto é colocado a chave /portável

como este: D:\MT5terminal64.exe /portável

então todas as pastas não aparecerão algures, mas na pasta do seu terminal

 
Olegts:

como este: D:\MT5terminal64.exe /portável

Então, todas as pastas não aparecerão em lado nenhum, mas na pasta do seu terminal.

e também para o editor

e também em toda a parte do registo para abrir ficheiros mql com um duplo clique.

 
sergeev:

bem como para o editor

e também em toda a parte do registo para abrir ficheiros mql com um duplo clique.

é um moderador ou o quê?

a pessoa tinha um problema, eu disse-lhe como resolvê-lo parcialmente, porque estás a ser sarcástico?

 
Olegts:

é um moderador ou algo assim?

a pessoa tinha um problema, eu sugeri como resolvê-lo parcialmente, porquê o sarcasmo?

Tinha medo de moderadores quando era criança? porque se zanga e é insistente?

Só expandi a sua resposta incompleta.

você mesmo escreveu que o aconselhou a resolver "parcialmente". porque precisaria ele de metade disso?

 
sergeev:

foi intimidado por moderadores quando era criança? porque é que está a ficar tão quente e incomodado?

Acabei de dar a sua resposta incompleta.

escreve que o aconselhou como "parcialmente". porque precisaria ele de meias medidas?

Pessoalmente, não trabalho sem portateis. Tenho uma pasta separada com cerca de 20 terminais e sei exactamente onde se encontram a MQL5 e outras pastas, não num sítio desconhecido. A ideia é que ele se meteu em problemas com algum milagre chamado 8.1 que foi feito pela Softwares e ele pensa que a culpa é das meta-cotações. Ele deve ser ajudado, e não demonstrado superioridade.

 
Porque é que o caminho para o terminal não está listado no atalho? É Bill Gates, eles não lhe atiram ovos por nada).
 
Olegts:

Pessoalmente, não trabalho sem uma pasta portátil, tenho uma pasta separada,

Tenho alguns concertos no meu disco rígido e FAT32 no mesmo. Nem sequer preciso de portátil.

 
ANG3110:

Caros programadores! Testa realmente o que liberta?

Nós testamo-lo. E há treze anos que o fazemos publicamente.


Instalei o Windows 8.1 64 bit - licenciado - no meu computador. E depois tive alguns problemas. Primeiro, instalei Metatrader 4 em autorun em C:\Program Files (x86). Quando se tentava escrever ficheiros, os problemas começaram. Como se verificou, este Windows tem alta - desculpem a minha linguagem - segurança de merda, e eu sou o único utilizador e administrador do computador, não posso fazer nada no directório do sistema, a menos que eu clique em "Como administrador". Depois de ler o fórum, decidi reinstalar o Metatrader 4 não em Ficheiros de Programas (x86), mas noutra pasta especialmente criada para este fim na minha unidade C, pré-instalada MT4. Mas não funcionou. O desinstalador disse, que não tem direitos para o fazer. Não pude realmente resistir e tentei o meu melhor para desinstalar. Fiz tudo o que pude. Como administrador, e permitindo a todos em Segurança fazer qualquer coisa. Até reinstalei o Windows novamente. No total, levei quase 2 dias. Depois encontrei acidentalmente uma pequena mensagem no fórum MT English, que se deve verificar o modo de compatibilidade para Win XP SP3, e colocar um tick - executar a operação como administrador. Depois só como administrador é que o terminal foi desinstalado. Respirei um pequeno suspiro de alívio.

Encontrou o problema habitual com programas mais antigos não bem adaptados ao Windows 8. Ou seja, o problema é com a segurança do sistema operativo. Sim, a Microsoft no Windows 8 encostou toda a gente à parede e já não lhe permite escrever e armazenar dados onde quiser.

Para resolver tais problemas, estamos a lançar o novo MetaTrader 4, que utiliza um modelo moderno de armazenamento de dados como o MetaTrader 5.


Depois decidi instalar o Metatrader 5. Sabendo já que a instalação em

O instalador não me perguntou se eu queria instalar a versão de 64 bits e instalou o MT5 64 bit à força. Tentei trabalhar com ele. Após algumas etapas, como criar indicadores, escrever ficheiros e tentar ligar DLL, descobri que os Ficheiros e Bibliotecas estão em falta no directório de instalação. Mas nem ficheiros DLL, nem mesmo exemplos descarregados da Base de Código foram criados ou chamados para compilação. Gastei muito tempo e nervosismo para encontrar a causa. Depois acabei de comentar TerminalPath - para onde desaparece tudo? Acontece com a pasta C:\Users\\AppData. Tentei encontrá-lo - sem sorte. Não estava de todo listado. Depois, de alguma forma, percebi que estava escondido. E descobri na Internet como permitir que as pastas escondidas fossem mostradas. Sim, todas as pastas e ficheiros necessários apareceram em C:Utentes....AppDataRoamingMetaQuotes\Terminal. Embora tenha evitado propositadamente os directórios do sistema para evitar problemas desnecessários. Não, o instalador é que os criou. Ou seja, compreende que um simples utilizador não pode fazer o que eu fiz antes de chegar a estas pastas.

Raciocina assim, critica e dá conselhos aos programadores, mas não conhece as regras básicas de segurança do Windows. É isso, o sistema operativo já não concede mais direitos de escrita aos Ficheiros de Programas. O local de armazenamento recomendado está apenas em AppData.

Se estiver a trabalhar em modo normal, tudo está bem - todos os dados estão no local e os directórios de trabalho estão disponíveis em File -> Open Data Directory.


A seguir tentei ligar a DLL. Silencioso como num tanque - não o vê, não importa onde o enfie. Foi criado em VS2013 Desktop em C++, última versão e funcionou bem em MT4. Depois de olhar para um exemplo do artigo "Como escrever uma DLL em 10 minutos", passei meia noite como um tolo a tentar ligá-la. Depois mudei os caminhos e o terminal finalmente viu-o e avisou que não era uma DLL de 64 bits e recusou-se a ligá-lo. Claro que compreendi que em todos os exemplos as DLL são criadas como uma aplicação Win32 e não vão criar 64 bits. Bem, o que fazer a seguir? Decidi experimentar o MT5 - 32 bits. O meu instalador não me deixou fazê-lo e obrigou-me a instalar 64 bits. Mais tarde, deparei-me com um fórum em que MT5 32 bits podem ser instalados a partir da linha de comando {mt5setup.exe /32) e instalei a versão de 32 bits. Liguei DLLs e pus a funcionar correctamente. A versão de 64 bits teve de ser desinstalada como uma aplicação problemática morta.

Se é a sua DLL, basta recompilá-la no modo 64 bit.

Não tem de bater com a cabeça contra a parede e fingir que as bibliotecas de 32 bits podem ou devem funcionar em programas de 64 bits. Já lhe foi explicado num fórum vizinho, mas ainda assim finge não o compreender.

Descrevi tudo propositadamente de forma tão detalhada para que os criadores pudessem tentar entrar na pele de um utilizador.

Infelizmente, descreveu em pormenor os seus conceitos errados. Ostensivelmente as palavras de um programador (DLL, directórios, programas), mas não se conhecem realmente as noções básicas.

Pergunta. Porque é que, apesar de não estar a instalar no directório do sistema, o instalador ainda coloca tudo em pastas escondidas, nas quais não consigo entrar, para, pelo menos, as colocar a partir dos indicadores ou scripts da Base de Código. E eu não consegui chegar à pasta Ficheiros onde poderia escrever alguns resultados do meu trabalho? Para ser honesto, tive um impulso emocional para mandar o MT5 para longe, com todos estes problemas, desculpem a expressão - vampirismo do tempo e energia nervosa e defeitos. Mas eu resisti através de pura força.

Porque essas são as regras da Microsoft (sim, é isso mesmo). Com o lançamento do Windows 8, ou faz praticamente o que a Microsoft diz, ou configura clientes para escrever proibições.

Há o interruptor /portável para aqueles que querem manter ficheiros de trabalho no seu directório contra ele.


E uma segunda pergunta. As DLLs de 32 bits vão estar disponíveis em versão de 64 bits, porque o terminal de 64 bits está meio morto sem ele?

Não, é tecnicamente impossível em princípio (sem fanatismo). São as bibliotecas de 64 bits que são necessárias.


E mais uma pergunta. Está a planear fornecer uma oportunidade de ligação C# DLL para que criem DLLs de 64 bits sem qualquer problema?

Os programas habituais também fazem facilmente versões de 64 bits. Onde se deparou com o problema?


E mais uma coisa. A Microsoft vai para uma tentativa quase forçada de substituir C++ por C# como a principal linguagem de programação. No último VS2013 até removeram a capacidade de definir o trabalho com formulários e responderam à pergunta "porquê?" no fórum com a pergunta "porque não tenta usar C#? mais perfeito". Acontece então que, a longo prazo, C++ pode ir para o 2º lugar ou desaparecer por completo. Existe alguma intenção de fazer um novo terminal com o C# como base da língua?

Quando quisermos arruinar o nosso negócio, então sim - mudaremos para C#. Será apenas um grande método.

Para que não tenha problemas, utilize MQL4/MQL5 - funcionam como C# e atracam automaticamente para código nativo de 32 e 64 bits em tempo de execução.

Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
  • www.mql5.com
Выпущена бета-версия MetaTrader 4 Build 555 с обновленным языком MQL4 и Маркетом приложений - MQL4 форум
 

Eu, é claro, compreendo perfeitamente.

Uma pessoa que mudou do Windows XP para o Windows 7/Windows 8 há um par de meses é obrigada a quebrar padrões. Mas, como eles dizem, cada um é o seu próprio Pinóquio maléfico - é o preço a pagar por uma década de auto-engano e de fechar os olhos às mudanças nos sistemas operativos.