MetaTrader 4 Build 529 beta publié avec un nouveau compilateur - page 29

 
artmedia70:

Le terminal fonctionne en mode /Portable, le ME fonctionne également en mode /Portable. Après avoir compilé un nouvel indicateur, qui n'était pas encore présent dans le navigateur du terminal, le nouvel indicateur n'apparaît pas dans la liste des indicateurs personnalisés. Ce n'est qu'après avoir redémarré le terminal que le nouvel indicateur apparaît dans la liste des indicateurs personnalisés de la fenêtre du navigateur.

De la même manière, les indicateurs existants ne sont pas mis à jour après leur modification dans ME si l'indicateur fonctionne déjà dans la fenêtre de la paire de devises. Seuls la suppression et le redémarrage de l'indicateur permettent de voir les modifications apportées à son code.

Ce n'est pas censé être comme ça ? Dans ma version 509 et plus ancienne, c'est ainsi que cela fonctionne et a fonctionné - ce n'est qu'après avoir redémarré le terminal que vous pouvez voir les changements.
 
Barbarian:
Ça ne devrait pas être comme ça ? Dans ma version 509 et plus ancienne, cela fonctionne et a fonctionné de cette façon - ce n'est qu'après avoir redémarré le terminal que vous pouvez voir les changements.
Les modifications que j'ai apportées à l'indicateur existant sont apparues après l'avoir recompilé, parfois après un changement d'horizon temporel, dans de rares cas - après avoir redémarré l'indicateur. Et le nouvel indicateur est apparu dans le navigateur du terminal immédiatement après la première compilation de l'indicateur, et non après le redémarrage du terminal.
 
Barbarian:
Ça ne devrait pas être comme ça ? Dans ma version 509 et plus ancienne, tout fonctionne et fonctionnait comme ça - ce n'est qu'après avoir rechargé le terminal que vous pouvez voir les changements.

Les changements devraient être perceptibles après la compilation du code.

Par exemple, si l'Expert Advisor est debout sur le graphique, il devrait redémarrer automatiquement.

 
Interesting:

Les changements doivent être visibles après la compilation du code.

Par exemple, si le conseiller expert se trouve sur un graphique, il doit se recharger automatiquement.


C'était comme ça. Et des codes de raison de désinitialisation pourraient être utilisés.
 
artmedia70:

Qui a écrit :

"... j'ai mis à jour le terminal... Je regrette de ne pas l'avoir fait :)..."

C'était moi ?

S'agit-il de l'aide d'un bêta-testeur ou de la grogne d'un utilisateur mécontent ?



Moi, j'ai écrit. Et ce n'est pas de la rouspétance, c'est du sarcasme joyeux, joyeux :)

Ce n'est pas ma faute si iVolume ne fonctionne pas correctement.

Je n'ai pas 100% de mes experts qui travaillent.

Alors ne vous inquiétez pas, rangez vos épées dans leurs fourreaux.

 
thecore:


Moi, j'ai écrit. Et ce n'est pas de la rouspétance, c'est du sarcasme joyeux et plein d'entrain :)

Ce n'est pas ma faute si iVolume ne fonctionne pas correctement.

Je n'ai pas 100% de mes experts qui travaillent.

Alors ne vous inquiétez pas, rangez vos épées dans leurs fourreaux.

Je ne suis pas parti sur le "sentier de la guerre" avec toi. Je n'aime pas les gens grincheux et mécontents. La route est pour ceux qui marchent. J'ai simplement demandé un processus de travail calme, sans sarcasme ni moquerie à l'égard du CM, après quoi "...je préfère ne pas mettre à jour...".
 
Barbarian:

Vous n'avez probablement pas lu mon message ci-dessus, dans lequel je décrivais ce qui est en train d'être écrit pour les personnes utilisant les versions bêta de MT4. Dans nix, chacun travaille complètement dans son propre bac à sable, seul l'utilisateur root met les programmes communs et distribue les droits pour leur utilisation par les autres utilisateurs. L'idéologie y est complètement différente, même si elle semble similaire à celle de Microsoft. Au fait, cela ne me dérange pas que la version bêta écrive les paramètres de l'utilisateur dans X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\, ce qui me dérange c'est ce qui suit :

1. Il crée un sous-répertoire X:\Users\xxx\AppData\Roaming\MetaQuotes\Terminal\B5589D10299052C8D921603EBD1F9752\ qui jusqu'à ce que vous y arriviez vous ne connaîtrez pas son nom, de plus il change son nom à chaque mise à jour.

2. Ce chemin est utilisé non seulement pour écrire les paramètres de l'utilisateur, mais aussi pour les fichiers exécutables - indicateurs, Expert Advisors, scripts, etc., en général, toutes les choses pour lesquelles vous ne laisserez pas un étranger accéder à votre PC, même sous un autre nom d'utilisateur. Bien que cela puisse, bien sûr, être évité plus tard, mais à quel prix.

C'est le premier point qui me fait le plus peur car la lecture/écriture dans les fichiers va compliquer le code utilisant ces opérations.

Ce n'est pas pour rien que j'ai écrit que le temps est venu pour Microsoft de forcer les développeurs à écrire leurs données uniquement dans des endroits strictement désignés. En particulier avec Windows 8, cela est devenu encore plus difficile.

L'option de travailler à l'ancienne n'est plus disponible. Le chemin partiel via /portable demeure, mais seulement pour ceux qui savent exactement ce qu'ils font. Mais même dans ce cas, certaines des données seront toujours dans AppData.

1. Le répertoire ne change pas de nom lors des mises à jour et dépend du chemin réel où le programme est installé. En outre, il y a un fichier origin.txt à l'intérieur, qui spécifie le répertoire de lancement original.

2. C'est tout, maintenant il n'y aura pas de répertoires /MQL4 / experts dans Program Files - les données de travail ne seront disponibles que dans une seule instance dans AppData. La bibliothèque originale MQL4.zip sera stockée dans Program Files et déployée dans les répertoires de travail d'AppData lorsque nécessaire.


Ne sautez pas l'explication - le système s'adapte aux millions de commerçants qui n'ont aucune idée de l'UAC et des droits d'accès.
 
Vinin:

La construction 532 a signalé des erreurs d'exécution (par exemple, des dépassements de tableau), ce qui n'est pas le cas de la 536.

Il sera plus difficile à contrôler.

Bien que dans l'ancien terminal tout fonctionnait et n'écrivait rien.

536 le fait, nous ne l'avons pas éteint.

Vérifiez-le vous-même à l'aide d'un exemple simple.
 

J'ai écrit au bureau de service, réinitialisé les codes et fait une vidéo également.

>
 
Renat:

Je n'ai pas écrit pour rien que c'est le moment où Microsoft fait pression sur les développeurs pour qu'ils n'écrivent leurs données que dans des endroits strictement désignés. En particulier avec Windows 8, cela est devenu encore plus difficile.

L'option de travailler à l'ancienne n'existe plus. Le chemin partiel à travers /portable demeure, mais seulement pour ceux qui savent exactement ce qu'ils font. Mais même dans ce cas, certaines des données seront toujours dans AppData.

1. Le répertoire ne change pas de nom lors des mises à jour et dépend du chemin réel où le programme est installé. En outre, il y a un fichier origin.txt à l'intérieur, qui spécifie le répertoire de lancement original.

2. Maintenant que nous avons supprimé /MQL4 / experts de Program Files - les données de travail ne seront disponibles que dans un seul emplacement dans AppData. La bibliothèque originale MQL4.zip sera stockée dans Program Files et décompressée dans les répertoires de travail d'AppData lorsque nécessaire.


Ne manquez pas l'explication - le système s'adapte aux millions de commerçants qui n'ont aucune idée de l'UAC et des droits d'accès.
Alors je ne comprends pas à partir de quelles considérations un nom de répertoire comme B5589D1029905252C8D921603EBD1F9752 est fait , je ne suis pas contre les standards, mais quand les standards sont créés sur la base de considérations de sécurité redondantes, ce n'est pas bien. Je souligne spécifiquement ce qui peut être remplacé par le même répertoire racine, où l'utilisateur place MT4 dans Programm Files. Ensuite, où pouvons-nous trouver des fichiers, si par exemple l'administrateur d'un serveur avec MT4 installé, a caché le système et les répertoires et fichiers pour des raisons de sécurité ! D'ailleurs vous essayez vainement de convaincre que Microsoft oblige tout le monde à le faire, le développeur mettra le programme installé là où il doit être, le même développeur établit lui-même tous les privilèges sur les fichiers exécutables et dépendants et les liens symboliques. En outre, les propres recommandations de Microsoft se résument à placer les fichiers utilisateur de personnalisation et de configuration dans ...AppData\Roaming\, mais pas les fichiers exécutables.