Erreurs, bugs, questions - page 1323

 
Slawa:

Non, il y a une limite, mais pas tant que ça (je ne me souviens pas d'un coup d'œil, quelque chose comme 64 meg). J'ai donné un exemple avec un fichier de 140 kilobytes

Nous allons essayer de reproduire le problème à la maison.

J'ai essayé de changer la taille du fichier. Le problème survient à environ 16 Mo.

15 625 KB s'ouvre. Journal : Fichier de test ajouté : FilesEURUSD.dat. 16000020 octets chargés

16,407 KB - il n'y a aucun enregistrement dans les journaux concernant le transfert de fichiers.

Dossiers :
20150706.log  6 kb
 

Pouvez-vous me dire comment mettre à jour un formulaire créé à l'aide de la bibliothèque standard (CAppDialog) ?

 
Konstantin Karpov:

Pouvez-vous me dire comment mettre à jour un formulaire créé à l'aide de la bibliothèque standard (CAppDialog) ?

Si vous avez travaillé avec des graphiques, il suffit de mettre à jour l'écran ChartRedraw.
 
Karputov Vladimir:
Si vous avez travaillé avec des graphiques, il suffit de mettre à jour l'écran ChartRedraw.

Je veux dire le mécanisme de mise à jour des données dans le formulaire. C'est-à-dire créer, par exemple, un objet étiquette, et l'afficher dans le formulaire par la méthode Text(_field_class_). Mais l'objet _field_class_ sera statique - il ne sera pas mis à jour. Et nous en avons besoin pour que, lorsque des données sont modifiées dans la _classe_de_champ_, le formulaire soit mis à jour. Je ne veux pas créer mon propre mécanisme de mise à jour s'il est déjà spécifié.

 
Konstantin Karpov:

Je veux dire le mécanisme de mise à jour des données dans le formulaire. C'est-à-dire créer, par exemple, un objet étiquette, et l'afficher dans le formulaire par la méthode Text(_field_class_). Mais l'objet _field_class_ sera statique - il ne sera pas mis à jour. Et nous en avons besoin pour que, lorsque des données sont modifiées dans la _classe_de_champ_, le formulaire soit mis à jour. Je ne veux pas créer mon propre mécanisme de mise à jour, s'il est déjà fourni à coup sûr.

La modification d'une information textuelle entraîne un redécoupage de l'écran. Vous pouvez utiliserChartRedraw pour mettre à jour l'écran.
 
Karputov Vladimir:
Les informations textuelles modifiées sont un redessin de l'écran. Vous pouvez utiliserChartRedraw pour mettre à jour l'écran.

Quel est le rapport entre la mise à jour du graphique et la mise à jour des données :)

J'ai déjà compris, vous devez surcharger la méthode virtuelle OnShow().

 
Konstantin Karpov:

Quel est le rapport entre la mise à jour du graphique et la mise à jour des données :)

J'ai déjà compris, vous devez surcharger la méthode virtuelle OnShow().

Vous devriez essayer :), et voir ensuite le résultat.
 
Karputov Vladimir:
Vous devriez l'essayer :) et voir ensuite le résultat.

Vous ne voulez pas me comprendre, je n'ai pas besoin de mettre à jour les graphiques, j'ai besoin de mettre à jour les données dans le formulaire, quand elles sont mises à jour, ceci est réalisé par le mécanisme de mise à jour fournipar la bibliothèque standard.

La méthode virtuelle OnShow() est surchargée, ce qui permet de mettre à jour les champs nécessaires à l'aide de la méthode Text(_field_class_). Puis, dans la méthode d'appel, dans laquelle nous passons les paramètres nécessaires pour afficher le formulaire, nous attribuons de nouvelles valeurs aux champs de la classe (data) et appelons la méthode Show() ;

Je cherchais simplement un mécanisme standard, qui est utilisé dans diverses bibliothèques C++, y compris MQL.

Dossiers :
test_NewForm.ex5  192 kb
 
Konstantin Karpov:

Vous ne voulez pas me comprendre, je n'ai pas besoin de mettre à jour les graphiques, j'ai besoin de mettre à jour les données dans le formulaire, quand elles sont mises à jour, ceci est réalisé par le mécanisme de mise à jour fournipar la bibliothèque standard.

La méthode virtuelle OnShow() est surchargée, ce qui permet de mettre à jour les champs nécessaires à l'aide de la méthode Text(_field_class_). Puis, dans la méthode d'appel, dans laquelle nous passons les paramètres nécessaires pour afficher le formulaire, nous attribuons de nouvelles valeurs aux champs de la classe (data) et appelons la méthode Show() ;

Je cherchais simplement un mécanisme standard utilisé dans diverses bibliothèques C++, y compris MQL.

Tout ce qui figure sur le tableau est un graphique. Le texte a été modifié dans un champ de texte. Vous devez donc forcer l'actualisation de l'écran pour que l'utilisateur puisse voir la modification. Je vous le dis - on l'aurait essayé il y a longtemps :).
 
Karputov Vladimir:
Tout ce qui figure sur le tableau est un graphique. Vous avez modifié le texte dans le champ de texte, ce qui signifie que pour que l'utilisateur puisse voir le changement, il doit être obligé de rafraîchir l'écran. Je vous le dis - j'aurais été testé depuis longtemps :).

Vous ne comprenez pas de quoi vous parlez, un graphique est un graphique, et les données ne seront pas mises à jour tant que vous ne l'aurez pas fait. En d'autres termes, en mettant à jour le graphique, vous ne mettez pas à jour les champs de classe, et j'avais besoin d'un mécanisme qui fasse cela. En fait, elle a déjà été trouvée.

Voir le fichier joint, le champ Prix d'ouverture.

Dossiers :
test_NewForm.ex5  191 kb