Fehler, Irrtümer, Fragen - Seite 2953

 

Ein weiteres Problem mit dem Code:

switch(EnumTypeSound) 
{
   default: return;
   case tSoundError:   PlaySound("stops.wav");  break;
   case tSoundAlert:   PlaySound("alert.wav");  break;
   case tSoundAlert2:  PlaySound("alert2.wav"); break;
   case tSoundExpert:  PlaySound("expert.wav"); break;
   case tSoundNews:    PlaySound("news.wav");   break;
   case tSoundOk:      PlaySound("ok.wav");     break;
   case tSoundTick:    PlaySound("tick.wav");   break;
   case tSoundTimeout: PlaySound("timeout.wav"); break;
}

Bei dem Versuch, auf die

PlaySound("stops.wav");

Es tritt der folgende Fehler auf: [Err: 5019] Datei existiert nicht

Der Code selbst befindet sich in den Tiefen des Projekts, das aus Dutzenden von mqh-Dateien besteht, und diese Funktion wird nicht direkt von mq5 aufgerufen (nur um sicherzugehen).

In der Hilfe heißt es: "Die Datei muss sich im Verzeichnis terminal_directory\Sounds oder einem Unterverzeichnis davon befinden. "Wenn Sie jedoch das Datenverzeichnis öffnen(Datei - Datenordner öffnen), ist dieser Ordner nicht vorhanden. Es befindet sich jedoch im installierten Ordner"C:\Programme\MetaTrader 5". Vielleicht beeinflusst es irgendwie die Dateianfrage beim Aufruf?

Die stops.wav-Datei selbst befindet sich im Ordner"C:\Programme\MetaTrader 5\Sounds\".

Ich würde diesen lächerlichen Fehler gerne beheben))) Vielen Dank im Voraus!

 
Vadim Lin:

Ein weiteres Problem mit dem Code:

Bei dem Versuch, auf die

Es tritt der folgende Fehler auf: [Err: 5019] Datei existiert nicht

Der Code selbst befindet sich in den Tiefen des Projekts, das aus Dutzenden von mqh-Dateien besteht, und diese Funktion wird nicht direkt von mq5 aufgerufen (nur um sicherzugehen).

In der Hilfe heißt es: "Die Datei muss sich im Verzeichnis terminal_directory\Sounds oder einem Unterverzeichnis davon befinden. "Wenn Sie jedoch das Datenverzeichnis öffnen(Datei - Datenordner öffnen), ist dieser Ordner nicht vorhanden. Es befindet sich jedoch im installierten Ordner"C:\Programme\MetaTrader 5". Vielleicht beeinflusst es irgendwie die Dateianfrage beim Aufruf?

Die stops.wav-Datei selbst befindet sich im Ordner"C:\Programme\MetaTrader 5\Sounds\".

Ich würde diesen lächerlichen Fehler gerne beheben))) Vielen Dank im Voraus!

Das funktioniert folgendermaßen.

//+------------------------------------------------------------------+
//|                                                EnumTypeSound.mq5 |
//|                        Copyright 2020, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2020, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property script_show_inputs
//+------------------------------------------------------------------+
//| EnumTypeSound                                                    |
//+------------------------------------------------------------------+
enum EnumTypeSound
  {
   tSoundError,   // Stops
   tSoundAlert,   // Alert
   tSoundAlert2,  // Alert2
   tSoundExpert,  // Expert
   tSoundNews,    // News
   tSoundOk,      // Ok
   tSoundTick,    // Tick
   tSoundTimeout, // Timeout
  };
input EnumTypeSound TypeSound=tSoundError;
//+------------------------------------------------------------------+
//| Script program start function                                    |
//+------------------------------------------------------------------+
void OnStart()
  {
//---
   switch(TypeSound)
     {
      default:
         return;
      case tSoundError:
         PlaySound("stops.wav");
         break;
      case tSoundAlert:
         PlaySound("alert.wav");
         break;
      case tSoundAlert2:
         PlaySound("alert2.wav");
         break;
      case tSoundExpert:
         PlaySound("expert.wav");
         break;
      case tSoundNews:
         PlaySound("news.wav");
         break;
      case tSoundOk:
         PlaySound("ok.wav");
         break;
      case tSoundTick:
         PlaySound("tick.wav");
         break;
      case tSoundTimeout:
         PlaySound("timeout.wav");
         break;
     }
  }
//+------------------------------------------------------------------+
 

Gerade habe ich herausgefunden, dass die Taste in den Protokollen einen schnellen Sprung zu der Zeile macht, die mit dem Zeichen beginnt, das der Taste entspricht.


Wenn Sie z. B. die Spalten Zeit und Quelle deaktivieren, können Sie in den Protokollen schnell zu dem Sonderzeichen Ihres EA wechseln.

 
fxsaber:

Gerade habe ich herausgefunden, dass die Taste in den Protokollen einen schnellen Sprung zu der Zeile macht, die mit dem Zeichen beginnt, das der Taste entspricht.


Wenn Sie zum Beispiel die Spalten Zeit und Quelle deaktivieren, können Sie in den Protokollen schnell nach dem Sonderzeichen Ihres EA suchen.

Das wusste ich auch nicht! Ich danke Ihnen!

 
SanAlex:

So funktioniert es.

Ja, Mann( Ich habe es überprüft, bei mir funktioniert jetzt auch alles... Aber an manchen Stellen gibt es aus irgendeinem Grund eine Fehlermeldung (in manchen Terminals), vielleicht ist der Sound-Ordner nicht da, ich werde mal ein wenig herumprobieren. Vielen Dank für die Antwort! Ich dachte nur, DANN könnte es eine Einschränkung in den Unterdateien der Projektstruktur geben, von der ich nichts wusste und die ich nicht berücksichtigt habe...

 

Es ist seltsam, wie es funktioniert. Build 2755.

Nullen und Variablen, denen ich Werte aus dem Array zuweise. Und wenn ich die Arraywerte selbst mit etwas multipliziere, ändern sie sich im Debugger korrekt.


 
Aleksey Mavrin:

Es ist seltsam, wie es funktioniert. Build 2755.

Nullen und Variablen, die ich Werte aus dem Array zuweisen. aber wenn ich die Array-Werte selbst mit etwas multiplizieren, ändern sie sich korrekt im Debugger.


Bitte aktualisieren Sie auf die Beta 2775, bitte.

Dies wurde behoben.

 

Die meisten Messenger zeigen an, ob die gesendete Nachricht empfangen/gelesen wurde oder nicht.

Wird es eine solche Funktion in PMs geben?


ZZY Renate Details der Probleme schreiben Sie in der PM, wie in nichts.

 
fxsaber:

Die meisten Messenger zeigen an, ob die gesendete Nachricht empfangen/gelesen wurde oder nicht.

Wird es eine solche Funktion in PMs geben?


SZY Renate Details von Problemen schreiben Sie in PMs, als ob sie nichts wären.

Unverzichtbar, vor allem im Freelancer-Chat!

 
fxsaber:

Die meisten Messenger zeigen an, ob die gesendete Nachricht empfangen/gelesen wurde oder nicht.

Wird es eine solche Funktion in PMs geben?


SZY Renate, die Details der Probleme schreiben Sie in der PM, wie in nichts.


Die mobile Version des Terminals verfügt über diese Funktion.
Das ist natürlich kein Vergleich zu den Nutzern am Computer. Aber trotzdem...