Fehler, Irrtümer, Fragen - Seite 2705

 
fxsaber:

Können Sie mir sagen, wie ich die Stelle in der Quelle finden kann, von der aus das entsprechende Include erstellt wurde?

Offensichtlich bisher nur Drittanbieter oder hausgemachte Mittel. Sie können zum Beispiel mein Parker-Programm oder meinen Artikel zur MQL-Analyse verwenden. Die Daten werden dort gesammelt und müssen in einem Protokoll oder an anderer Stelle ausgedruckt werden. Aber Definitionen werden dort nicht behandelt.

Andere Analysatoren auf einen Blick sind lint, doxygen.

MQL5 Program Packer
MQL5 Program Packer
  • www.mql5.com
This script allows you to assemble a zip-file of your MQL5-program with all dependencies automatically. The dependencies are: included source files via #include directive (both modes of absolute () and relative ("") references are supported); icons linked by #property icon directive; resources (images, sounds, and other types) embedded by...
 
Vorschlag an die Entwickler.
Suche/Ersetzung nach aktuellem Projekt zu ME hinzufügen, denn während des Refactorings jede einzelne Datei durchzugehen und nach Vorkommen zu suchen ist irgendwie nicht gut.
 
Sergey Dzyublik:

Nur von Hand.
Sie können den Entwicklern vorschlagen, die leeren Spalten Datei, Zeile, Spalte mit relevanten Informationen über die Quelldatei zu füllen, aus der das Include erstellt wurde.

Über das PKM-Menü würde ich gerne.


Stanislav Korotky:

Offenbar gibt es im Moment nur Tools von Drittanbietern oder selbst gebaute Tools. Nehmen Sie zum Beispiel mein Parker-Programm oder einen Artikel über MQL-Analyse. Die Daten werden dort gesammelt und Sie müssen sie nur noch in ein Protokoll oder an anderer Stelle ausgeben. Aber Definitionen werden dort nicht behandelt.

Andere Analysatoren, die mir einfallen, sind lint, doxygen.

Ich weiß von einer solchen Möglichkeit durch Ihr wunderbares Tool. Leider gelingt es mir nicht immer, einen benötigten Include-String zu finden, da ein und derselbe mqh mehrfach vorkommen kann. Und Sie brauchen seine erste Einbeziehung während der Erstellung.

 

Bug ME(build 2380) Funktionalität Ersetzen (Strl + H) funktioniert nicht bei aktiviertem "Nur ausgewählter Text" zusammen mit "Suche nach oben", wenn der gewünschte Anwendungsabschnitt hervorgehoben ist und nicht der gesamte Code.
Abfolge der zu reproduzierenden Aktionen:

void Increment(int &n){
   ++n;
};

void test(){
   int n = 0;
   for(int i = 0; i < 100; ++i){
      DebugBreak();
      Increment(n);
   }  
}

void OnStart(){
   test();
}


1. Fügen Sie den Code ein, markieren Sie den betreffenden Abschnitt mit der Maus, öffnen Sie Ersetzen (Strg + H)
2. Aktivieren Sie "Nur markierter Text" und "Nach oben suchen".
3. Zum Einfügen von "test" durch "best" ersetzen, "Alles ersetzen" anwenden.
Ergebnis: Es wurde nichts gefunden.
Erwartetes Ergebnis: Ersetzen Sie "test" durch "best".


Dateien:
 
Dies ist das zweite Mal, dass ich in ME auf ein Problem gestoßen bin - einer der Threads belastet den Prozessor zu 100%.
Gleichzeitig funktioniert in ME alles einwandfrei.
Wenn ich ME schließe, bleibt der Prozess weiterhin hängen und belastet den Prozessor, ich muss ihn manuell beenden.
Vielleicht gibt es eine Wettlaufsituation zwischen Hintergrund- und manueller Kompilierung für ein mittelgroßes Projekt (3 Sekunden auf Intel 7700-HQ)...
 
fxsaber:

Ich bin mir dieser Möglichkeit durch Ihr wunderbares Instrument bewusst. Leider ist es nicht immer möglich, die richtige Include-Zeichenkette zu finden, da derselbe mqh mehrmals vorkommen kann. Und wir brauchen seine erste Einbeziehung während der Erstellung.

Es ist der erste Einschluss, der entdeckt wird. Die Reihenfolge der Datendurchläufe ist die gleiche wie bei der Erstellung, es sei denn, die bedingte Kompilierung stört - für Makros müssen Sie sie ändern.

Normalerweise mache ich genau das - ich benenne die richtige mqh-Datei um, und sie zeigt beim Kompilieren an, wo es hakt.

 
Stanislav Korotky:

Normalerweise ist es ganz einfach: Ich benenne die richtige mqh-Datei um, und sie sagt mir, wo der Fehler liegt, wenn ich versuche zu kompilieren.

Danke für die Methode! Dann ist der Algorithmus folgender: Ich gehe mit ENTER zur Quelle mqh, drücke ALT+N, benenne sie um, drücke F7.

 
Fehler ME (Build 2380) Kompilierungsfehlerbeschreibung passt nicht in die 256-Zeichen-Grenze und wird abgeschnitten, was dazu führt, dass nicht nachvollzogen werden kann, für welchen Datentyp der Fehler auftritt, da der erforderliche Teil abgeschnitten wurde.


Ein Vorschlag an die Entwickler wäre, die Begrenzung auf mindestens 512 Zeichen zu erhöhen, die Daten in einer Datei zu protokollieren oder die Details in einem separaten Fenster anzuzeigen.
 
Sergey Dzyublik:
Fehler ME (Build 2380) Kompilierungsfehlerbeschreibung passt nicht in die 256-Zeichen-Grenze und wird abgeschnitten, was dazu führt, dass nicht nachvollzogen werden kann, für welchen Datentyp der Fehler auftritt, da der erforderliche Teil abgeschnitten wurde.


Ein Vorschlag an die Entwickler wäre, die Begrenzung auf mindestens 512 Zeichen zu erhöhen, die Daten in einer Datei zu protokollieren oder die Details in einem separaten Fenster anzuzeigen.
Wenn Sie sich die Protokolle mit PKM --> Ansicht ansehen, werden sie dort auch abgeschnitten?
 
Artyom Trishkin:
Wenn das Protokoll über PCM --> Ansicht angezeigt wird, wird es dort auch abgeschnitten?

Das ist das Problem, es gibt kein Logbuch für die Registerkarte "Fehler" in ME.