Erreurs, bugs, questions - page 1099

 

Indéniablement surpris... ME est totalement incapable de voir les variables déclarées dans les inludes des autres fichiers du projet au niveau principal (il ne met pas en évidence et ne peut pas sauter à la définition de la variable).

Depuis combien de temps est-ce que c'est comme ça ?

 
joo:

Indéniablement surpris... ME est totalement incapable de voir les variables déclarées dans les inludes des autres fichiers du projet au niveau principal (il ne met pas en évidence et ne peut pas sauter à la définition de la variable).

Depuis combien de temps c'est comme ça ?

Dans chaque "inluder", vous devez également spécifier d'autres fichiers à lier.
 
tol64:
Dans chaque "inluder", vous devez également spécifier d'autres fichiers à lier.

Le projet se compile très bien, ce qui signifie que le compilateur voit tout - ce qui est où. L'éditeur ME ne le fait pas.

En outre, comment imaginez-vous spécifier le fichier .mq5 de l'exécutable principal comme un inluder où la variable est déclarée?

 
joo:

Le projet se compile très bien, ce qui signifie que le compilateur voit tout - ce qui est où. Mais l'éditeur du ME ne le fait pas.

De plus, comment imaginez-vous spécifier le fichier .mq5 de l'exécutable principal en tant qu'inline où la variable est déclarée?

Par exemple, comme ceci :

//--- Связь с основным файлом эксперта
#include "..\Main.mq5"
Ou donnez un bref exemple, sur lequel vous ne pouvez pas faire quelque chose. Ce sera plus rapide. )
 
tol64:

Par exemple, comme ceci :

Ou donnez un bref exemple, sur lequel vous ne pouvez pas faire quelque chose. Ce sera plus rapide. )
\Projet\

Main.mq5

input string Nevidimka="труляля";

#include "Include\Incl.mqh"

\N- Projet \N- Include\N

Incl.mqh

void Func()
{
  Print(Nevidimka);//Тут переменная Nevidimka не подсвечивается как должна бы подсвечиваться и нельзя перейти к месту её объявления
}
 
joo:
...

Fichier principal dans le dossier du projet:

//+------------------------------------------------------------------+
//|                                                         Main.mq5 |
//|                        Copyright 2013, MetaQuotes Software Corp. |
//|                                              http://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2013, MetaQuotes Software Corp."
#property link      "http://www.mql5.com"
#property version   "1.00"
//---
#include "Include\Incl.mqh"
//---
input string Nevidimka="труляля";
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Deinitialization function of the expert                          |
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
  }
//+------------------------------------------------------------------+
//| OnTick                                                           |
//+------------------------------------------------------------------+
void OnTick()
  {
  }
//+------------------------------------------------------------------+

Un fichier plug-in dans le répertoire Project\Include:

//--- Связь с основным файлом эксперта
#include "..\Main.mq5"
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void Func()
  {
   Print(Nevidimka); // Теперь подсвечивается и можно перейти к месту её объявления
  }
//+------------------------------------------------------------------+
 
tol64:

Fichier principal dans le dossier du projet:

Un fichier plug-in dans le répertoire Project\Include:

Quel est l'intérêt de ce geste inutile ? ME doit voir (et programmer) les variables et les fonctions exactement comme le fait le compilateur.

De plus, ce que vous proposez dans la plupart des cas est peu pratique (éditer les inludes pour chaque projet?).

 

L'intellisense de chaque fichier ne fonctionne que dans sa propre portée. C'est-à-dire que le fichier entier est analysé avec toutes ses inclusions évidentes.

Vous proposez d'afficher les données d'un fichier sans liens vers d'autres fichiers inconnus. C'est fondamentalement faux.

 
joo:
Alors quel est l'intérêt de ce geste inutile ? ME doit voir (et le programmeur) les variables et les fonctions exactement comme le fait le compilateur.
Je ne connais pas d'autres options. ) Peut-être que quelqu'un d'autre peut répondre.
 
joo:

Alors à quoi sert ce geste inutile ? ME doit voir (et le programmeur) les variables et les fonctions exactement comme le fait le compilateur.

Avez-vous essayé de compiler votre propre fichier d'en-tête ? Le compilateur a-t-il vu des variables de fichiers maîtres inconnus ?

C'est le compilateur qui donne des indices en compilant virtuellement le fichier courant où se trouve le curseur.

Raison: