Développeurs ! Est-ce que vous testez au moins ce que vous créez ? - page 15

 

Chers développeurs ! Testez-vous réellement ce que vous publiez ?

J'ai installé Windows 8.1 64 bits - sous licence - sur mon ordinateur. Et puis j'ai eu des problèmes. Tout d'abord, j'ai installé Metatrader 4 en exécution automatique dans C:\Program Files (x86). En essayant d'écrire des fichiers, des problèmes ont commencé. Il s'est avéré que ce Windows a une sécurité élevée - excusez mon langage - de merde, et je suis le seul utilisateur et administrateur de l'ordinateur, je ne peux rien faire dans le répertoire système, sauf si je clique sur "En tant qu'administrateur". Après avoir lu le forum, j'ai décidé de réinstaller Metatrader 4 non pas dans Program Files (x86), mais dans un autre dossier spécialement créé sur mon lecteur C, pré-installé MT4. Mais ça n'a pas marché. Le désinstalleur a dit que tu n'avais pas le droit de le faire. Je n'ai vraiment pas pu y résister et j'ai fait de mon mieux pour le désinstaller. J'ai fait tout ce que j'ai pu. En tant qu'administrateur, et en permettant à tous les membres de la sécurité de faire n'importe quoi. J'ai même réinstallé Windows. En tout, cela m'a pris presque 2 jours. Puis j'ai trouvé par hasard un petit message sur le forum anglais de MT, selon lequel il faut vérifier le mode de compatibilité pour Win XP SP3, et mettre une coche - effectuer l'opération en tant qu'administrateur. Ensuite, le terminal a été désinstallé uniquement en tant qu'administrateur. J'ai poussé un petit soupir de soulagement.

Puis j'ai décidé d'installer Metatrader 5. Sachant qu'il était dangereux de l'installer dans le répertoire système, je l'ai installé dans un dossier spécialement créé sur le lecteur C. Mon installateur ne m'a pas demandé si je voulais installer la version 64 bits et a installé de force MT5 en version 64 bits. J'ai essayé de travailler avec ça. Après quelques étapes, comme la création d'indicateurs, l'écriture de fichiers et la tentative de connexion de DLL, j'ai constaté que les fichiers et les bibliothèques sont manquants dans le répertoire d'installation. Mais ni les fichiers DLL, ni même les exemples téléchargés depuis Code Base n'ont été créés ou appelés à la compilation. J'ai passé beaucoup de temps et de nerfs pour trouver la cause. Puis j'ai simplement commenté TerminalPath - où est-ce que tout cela disparaît ? Il s'agit du dossier C:\Users\...\N- AppData. J'ai essayé de le trouver - pas de chance. Il n'était pas répertorié du tout. Puis j'ai réalisé qu'elle était cachée. Et j'ai trouvé sur internet comment permettre aux dossiers cachés d'être affichés. Oui, tous les dossiers et fichiers nécessaires sont apparus dans C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Bien que j'ai volontairement évité les répertoires système pour éviter les problèmes inutiles. Non, le programme d'installation les a créés. C'est-à-dire, vous comprenez, que le simple utilisateur ne pouvait pas faire ce que j'ai fait avant d'arriver à ces dossiers.

Ensuite, j'ai essayé de connecter la DLL. Silencieux comme dans un réservoir - il ne le voit pas, peu importe où je le fourrerais. Il a été créé dans VS2013 Desktop en C++, dernière version et a fonctionné avec succès dans MT4. Après avoir regardé un exemple de l'article "Comment écrire une DLL en 10 minutes", j'ai passé la moitié d'une nuit comme un idiot à essayer de la connecter. Puis j'ai changé de chemin et le terminal l'a finalement vu et m'a averti que ce n'était pas une DLL 64 bits et a refusé de la connecter. Bien sûr, j'ai compris que dans tous les exemples les DLL sont créées comme une application Win32 et qu'elles ne créeront pas de 64 bits. Alors, que faire ensuite ? J'ai décidé d'expérimenter avec MT5 - 32 bits. Mon installateur ne m'a pas permis de le faire et m'a obligé à installer 64 bits. Plus tard, je suis tombé sur un forum indiquant que MT5 32 bits peut être installé à partir de la ligne de commande {mt5setup.exe /32) et j'ai installé la version 32 bits. J'ai connecté les DLL et j'ai réussi à la faire fonctionner correctement. J'ai dû désinstaller la version 64 bits car c'était une application morte et problématique.

J'ai volontairement décrit tout cela de manière si détaillée pour que les développeurs puissent essayer de se mettre dans la peau d'un utilisateur.

Question. La question est de savoir pourquoi, malgré le fait que je ne l'ai pas installé dans le répertoire système, l'installateur met tout dans des dossiers cachés, auxquels je ne peux tout simplement pas accéder, du moins pour y mettre des indicateurs ou des scripts téléchargés depuis Code Base. Et je n'ai pas pu accéder au dossier Files où je pourrais écrire les résultats de mon travail ? Pour être honnête, j'ai eu une impulsion émotionnelle pour envoyer MT5 loin, avec tous ces problèmes, excusez l'expression - vampirisme de temps et d'énergie nerveuse et de défauts. Mais j'ai résisté par pure force.

Et la deuxième question. Les DLL 32 bits sont-elles censées être disponibles dans la version 64 bits, car le terminal 64 bits est en quelque sorte mort sans elles ?

Et une dernière question. Est-il prévu de fournir une possibilité de connexion de DLL C# pour qu'ils créent des DLL 64 bits sans aucun problème ?

Et encore une chose. Microsoft tente presque par la force de remplacer C++ par C# comme principal langage de programmation. Dans la dernière version de VS2013, ils ont même supprimé la possibilité de travailler avec des formulaires et répondent à la question " pourquoi ? " sur le forum par la question " pourquoi n'essayez-vous pas d'utiliser un C# plus parfait ? ". Puis il s'avère qu'à long terme, les C++ peuvent passer à la deuxième place ou disparaître complètement. Le nouveau terminal est-il censé être réalisé avec C# comme base du langage ?

 
ANG3110:

Puis j'ai décidé d'installer Metatrader 5. Sachant qu'il était dangereux de l'installer dans le répertoire système, je l'ai installé dans un dossier spécialement créé sur mon disque C. J'ai essayé de travailler avec ça. Après quelques étapes, comme la création d'indicateurs, l'écriture de fichiers et la tentative de connexion de DLL, j'ai constaté que les fichiers et les bibliothèques sont manquants dans le répertoire d'installation. Mais ni les fichiers DLL, ni même les exemples téléchargés depuis Code Base n'ont été créés ou appelés à la compilation. J'ai passé beaucoup de temps et de nerfs pour trouver la cause. Puis j'ai simplement commenté TerminalPath - où est-ce que tout cela disparaît ? Il s'agit du dossier C:\Users\...\N- AppData. J'ai essayé de le trouver - pas de chance. Il n'était pas répertorié du tout. Puis j'ai réalisé qu'elle était cachée. Et j'ai trouvé sur internet comment permettre aux dossiers cachés d'être affichés. Oui, tous les dossiers et fichiers nécessaires sont apparus dans C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Bien que j'ai volontairement évité les répertoires système pour éviter les problèmes inutiles. Non, le programme d'installation les a créés. Vous comprenez donc qu'un simple utilisateur ne peut pas du tout faire ce que je faisais avant d'arriver à ces dossiers.


après avoir installé le terminal 64 bit, ne l'ouvrez pas immédiatement, créez d'abord un raccourci, et dans les propriétés où se trouve l'objet mettez la clé /portable

comme ceci : D:\MT5\terminal64.exe /portable

Ensuite, tous les dossiers n'apparaîtront pas quelque part mais dans le dossier de votre terminal.

 
Olegts:

comme ceci : D:\MT5\terminal64.exe /portable

Tous les dossiers n'apparaîtront alors nulle part, mais dans le dossier de votre terminal.

et aussi pour l'éditeur

et aussi partout dans le registre pour ouvrir les fichiers mql par double clic.

 
sergeev:

ainsi que pour l'éditeur

et aussi partout dans le registre pour ouvrir les fichiers mql par double clic.

Vous êtes un modérateur ou quoi ?

la personne avait un problème, je lui ai dit comment le résoudre partiellement, pourquoi es-tu sarcastique ?

 
Olegts:

Vous êtes modérateur ou quoi ?

la personne avait un problème, j'ai suggéré comment le résoudre partiellement, pourquoi le sarcasme ?

avais-tu peur des modérateurs quand tu étais enfant ? pourquoi te mets-tu en colère et devient-tu agressif ?

Je n'ai fait que développer votre réponse incomplète.

vous avez écrit vous-même que vous lui avez conseillé comment résoudre "partiellement" le problème. pourquoi aurait-il besoin de la moitié ?

 
sergeev:

avez-vous été intimidé par les modérateurs dans votre enfance ? pourquoi êtes-vous si énervé ?

J'ai juste développé votre réponse incomplète.

vous écrivez que vous l'avez conseillé "partiellement". pourquoi aurait-il besoin de demi-mesures ?

Personnellement, je ne travaille pas sans portables. J'ai un dossier séparé avec environ 20 terminaux et je sais exactement où se trouvent MQL5 et les autres dossiers, pas dans un endroit inconnu. L'idée est qu'il a eu des problèmes avec un miracle appelé 8.1 qui a été fait par Softwares et il pense que les métacitations sont à blâmer. Il faut l'aider, pas lui montrer sa supériorité.

 
Pourquoi le chemin d'accès au terminal n'est-il pas indiqué dans le raccourci ? C'est Bill Gates, on ne lui lance pas des œufs pour rien).
 
Olegts:

Personnellement, je ne travaille pas sans portable, j'ai un dossier séparé,

J'ai quelques gigas sur mon disque dur et FAT32 dessus. Je n'ai même pas besoin de portable.

 
ANG3110:

Chers développeurs ! Testez-vous réellement ce que vous publiez ?

Nous le testons. Et nous le faisons publiquement depuis treize ans.


J'ai installé Windows 8.1 64 bits - sous licence - sur mon ordinateur. Et puis j'ai eu des problèmes. Tout d'abord, j'ai installé Metatrader 4 en exécution automatique dans C:\Program Files (x86). En essayant d'écrire des fichiers, des problèmes ont commencé. Comme il s'est avéré que ce Windows a élevé, excusez mon langage, la sécurité de merde, et je suis le seul utilisateur et l'administrateur de l'ordinateur ne peut pas faire quoi que ce soit dans le répertoire du système jusqu'à ce que je clique sur "Comme administrateur". Après avoir lu le forum, j'ai décidé de réinstaller Metatrader 4 non pas dans Program Files (x86), mais dans un autre dossier spécialement créé sur mon lecteur C, où MT4 est préinstallé. Mais ça n'a pas marché. Le désinstalleur a dit que tu n'avais pas le droit de le faire. Je n'ai vraiment pas pu y résister et j'ai fait de mon mieux pour le désinstaller. J'ai fait tout ce que j'ai pu. En tant qu'administrateur, et en permettant à tous les membres de la sécurité de faire n'importe quoi. J'ai même réinstallé Windows. En tout, cela m'a pris presque 2 jours. Puis j'ai trouvé par hasard un petit message sur le forum anglais de MT, selon lequel il faut vérifier le mode de compatibilité pour Win XP SP3, et mettre une coche - effectuer l'opération en tant qu'administrateur. Ensuite, le terminal a été désinstallé uniquement en tant qu'administrateur. J'ai poussé un petit soupir de soulagement.

Vous avez rencontré le problème habituel des anciens programmes mal adaptés à Windows 8. C'est-à-dire que le problème se situe au niveau de la sécurité du système d'exploitation. Oui, Microsoft dans Windows 8 a vraiment mis tout le monde au pied du mur et ne vous permet plus d'écrire et de stocker des données où vous voulez.

Pour résoudre ces problèmes, nous lançons le nouveau MetaTrader 4, qui utilise un modèle moderne de stockage des données comme le fait MetaTrader 5.


Puis j'ai décidé d'installer Metatrader 5. Sachant déjà que l'installation dans

Le programme d'installation ne m'a pas demandé si je voulais installer la version 64 bits et a installé MT5 64 bits de force. J'ai essayé de travailler avec ça. Après quelques étapes, comme la création d'indicateurs, l'écriture de fichiers et la tentative de connexion de DLL, j'ai constaté que les fichiers et les bibliothèques sont manquants dans le répertoire d'installation. Mais ni les fichiers DLL, ni même les exemples téléchargés depuis Code Base n'ont été créés ou appelés à la compilation. J'ai passé beaucoup de temps et de nerfs pour trouver la cause. Puis j'ai simplement commenté TerminalPath - où est-ce que tout cela disparaît ? Il s'agit du dossier C:\Users\...\N- AppData. J'ai essayé de le trouver - pas de chance. Il n'était pas répertorié du tout. Puis j'ai réalisé qu'elle était cachée. Et j'ai trouvé sur internet comment permettre aux dossiers cachés d'être affichés. Oui, tous les dossiers et fichiers nécessaires sont apparus dans C:\Users\...\AppData\Roaming\MetaQuotes\Terminal. Bien que j'ai volontairement évité les répertoires système pour éviter les problèmes inutiles. Non, le programme d'installation les a créés. C'est-à-dire que vous comprenez qu'un simple utilisateur ne peut pas faire ce que je faisais avant d'arriver à ces dossiers.

Vous raisonnez ainsi, vous critiquez et donnez des conseils aux développeurs, mais vous ne connaissez pas les règles de base de la sécurité de Windows. C'est tout, le système d'exploitation n'accorde plus de droits d'écriture dans Program Files. L'emplacement de stockage recommandé est uniquement dans AppData.

Si vous travaillez en mode normal, tout va bien - toutes les données sont en place et les répertoires de travail sont disponibles dans Fichier -> Ouvrir le répertoire de données.


Ensuite, j'ai essayé de connecter la DLL. Silencieux comme dans un réservoir - il ne le voit pas, peu importe où je le fourre. Il a été créé dans VS2013 Desktop en C++, dernière version et a bien fonctionné dans MT4. Après avoir regardé un exemple de l'article "Comment écrire une DLL en 10 minutes", j'ai passé la moitié de la nuit comme un idiot à essayer de la connecter. Puis j'ai changé de chemin et le terminal l'a finalement vu et m'a averti que ce n'était pas une DLL 64 bits et a refusé de la connecter. Bien sûr, j'ai compris que dans tous les exemples les DLL sont créées comme une application Win32 et qu'elles ne créeront pas de 64 bits. Alors, que faire ensuite ? J'ai décidé d'expérimenter avec MT5 - 32 bits. Mon installateur ne m'a pas permis de le faire et m'a obligé à installer 64 bits. Plus tard, je suis tombé sur un forum indiquant que MT5 32 bits peut être installé à partir de la ligne de commande {mt5setup.exe /32) et j'ai installé la version 32 bits. J'ai connecté les DLL et j'ai réussi à la faire fonctionner. La version 64 bits a dû être désinstallée comme une application problématique morte.

Si c'est votre DLL, il suffit de la recompiler en mode 64 bits.

Vous n'avez pas besoin de vous frapper la tête contre le mur et de prétendre que les bibliothèques 32 bits peuvent ou doivent fonctionner dans des programmes 64 bits. On vous l'a déjà expliqué sur un forum voisin mais vous faites toujours semblant de ne pas le comprendre.

J'ai volontairement tout décrit de manière aussi détaillée pour que les développeurs puissent essayer de se mettre dans la peau d'un utilisateur.

Malheureusement, vous avez décrit en détail vos idées fausses. En apparence, les mots d'un programmeur (DLL, répertoires, programmes), mais vous ne connaissez pas vraiment les bases.

Question. Pourquoi, malgré le fait que je n'installe pas dans le répertoire système, l'installateur met tout dans des dossiers cachés, dans lesquels je n'arrive pas à entrer, pour au moins y mettre les indicateurs ou les scripts téléchargés depuis la base de code. Et je n'ai pas pu accéder au dossier Files où je pourrais écrire les résultats de mon travail ? Pour être honnête, j'ai eu une impulsion émotionnelle pour envoyer MT5 au loin, avec tous ces problèmes, excusez l'expression - vampirisme du temps et de l'énergie nerveuse et des défauts. Mais j'ai résisté par pure force.

Parce que ce sont les règles de Microsoft (oui, c'est vrai). Avec la sortie de Windows 8, il s'agit de faire ce que dit Microsoft ou d'interdire aux clients d'écrire.

Il y a le commutateur /portable pour ceux qui veulent garder les fichiers de travail dans leur répertoire contre lui.


Et une deuxième question. Les DLL 32 bits seront-elles disponibles dans la version 64 bits, car le terminal 64 bits est en quelque sorte mort sans elles ?

Non, c'est techniquement impossible en principe (sans fanatisme). Ce sont les bibliothèques 64 bits qui sont nécessaires.


Et une dernière question. Prévoyez-vous d'offrir une possibilité de connexion aux DLL C# pour qu'elles créent des DLL 64 bits sans aucun problème ?

Les programmes habituels font aussi facilement des versions 64 bits. Où avez-vous trouvé le problème ?


Et encore une chose. Microsoft tente presque par la force de remplacer C++ par C# comme principal langage de programmation. Dans la dernière version de VS2013, ils ont même supprimé la possibilité de travailler avec des formulaires et répondent à la question " pourquoi ? " sur le forum par la question " pourquoi n'essayez-vous pas d'utiliser un C# plus parfait ? ". Puis il s'avère qu'à long terme, les C++ peuvent passer à la deuxième place ou disparaître complètement. A-t-on l'intention de créer un nouveau terminal avec C# comme base du langage ?

Lorsque nous voulons ruiner notre entreprise, alors oui - nous passerons au C#. Ce sera une méthode formidable.

Pour ne pas avoir de problèmes, utilisez MQL4/MQL5 - ils fonctionnent comme C# et s'arriment automatiquement au code natif 32 et 64 bits au moment de l'exécution.

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

Je comprends tout à fait, bien sûr.

Une personne qui est passée de Windows XP à Windows 7/Windows 8 il y a quelques mois ne manquera pas de briser des schémas. Mais, comme on dit, chacun est son propre Pinocchio maléfique - c'est le prix à payer pour une décennie d'auto-illusion et d'aveuglement face aux changements des systèmes d'exploitation.

Raison: