Fehler, Irrtümer, Fragen - Seite 2645

 
Stanislav Korotky:

Ja, die gesamte MQL-Syntax wird dort verworfen. Die Kompilierung des Quellcodes unter neuen Builds wurde vorerst behoben. Ich werde zip hinzufügen.

Es ist möglich, die gesamte Dateihierarchie in die Sandbox zu legen, ohne zu zippen.

 
fxsaber:

Es ist möglich, die gesamte Dateihierarchie ohne Zip in die Sandbox zu legen.

Das ist möglich, aber die Option zip ist erforderlich. Haben Sie die Quellen aus dem Artikel https://www.mql5.com/ru/articles/1971 an den neuesten Compiler angepasst?

Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
Работаем с ZIP-архивами средствами MQL5 без использования сторонних библиотек
  • www.mql5.com
Однажды автора данной статьи привлекла интересная особенность функции CryptDecode, а именно — возможность распаковывать переданный ей ZIP-массив. Этот модификатор был введен разработчиками торговой платформы MetaTrader 5 для того, чтобы можно было распаковывать ответ некоторых серверов, используя стандартную функцию WebRequest. Однако из-за...
 
Stanislav Korotky:

Man könnte, aber ein Reißverschluss als Option wäre gefragt. Haben Sie die Quellen aus dem Artikel https://www.mql5.com/ru/articles/1971 an den neuesten Compiler angepasst?

Ja, ich verwende unzip. Hier ist eine funktionierende Version.

 
fxsaber:

Ja, ich benutze das Entpacken. Hier ist eine funktionierende Version.

In dem gezippten Beispiel ist nur Müll enthalten:

2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 leaked strings left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 undeleted objects left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    21 objects of type KeyValuePair left
2020.02.12 21:54:06.620 ZipTask1 (EURUSD,D1)    2184 bytes of leaked memory

An mein Skript geschraubt - dasselbe - scheint in der Zip-Bibliothek zu sein.

PS. Ich habe herausgefunden, dass es im Dictionary.mqh steht.

 
Stanislav Korotky:

Als Beispiel für die Arbeit mit Reißverschlüssen bleibt mir nur der Müll:

An mein Skript geschraubt - das Gleiche - scheint in der Zip-Bibliothek zu liegen.

PS. Ich habe herausgefunden, dass es in Dictionary.mqh steht.

Es gibt eine Art von Standardcode. Das bedeutet, dass ich nur deshalb keine Probleme hatte, weil ich nur einen Teil der Funktionen genutzt habe.

 

Warum kann ich nicht so eine Vorlage erstellen?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
T f(int value)
  {
   T result;
   return(result);
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   a = f(i);
  }
//+------------------------------------------------------------------+

Vorlagenfehlanpassung

f" - kann nicht auf die Vorlage angewendet werden

siehe Erklärung von 'f'

f' - Parameter als Referenz übergeben, Variable erwartet

f' - Parameter als Referenz übergeben, Variable erwartet

 

Ich habe ein paar Probleme mit dem Repository. Einige Dateien werden problemlos an das Repository gesendet, andere jedoch nicht:

Und vor allem gibt es keine mql5.storage-Datei im Ordner \MQL5\, um sie zu löschen.


Wo ist sie jetzt?

 
Igor Makanu:

Warum kann ich nicht so eine Vorlage erstellen?

Denn Sie scheinen eine völlig falsche Vorstellung davon zu haben, wie Vorlagen funktionieren.

   a.i = f<int>(i);

Das "Wunder", das Sie sich gewünscht haben, wird nicht eintreten.

 
Igor Makanu:

Warum kann ich nicht so eine Vorlage erstellen?

Denn die Vorlage gibt nur Typen nach Parameter aus, nicht nach Ausgabewert.

 
fxsaber:

Denn Sie scheinen eine völlig falsche Vorstellung davon zu haben, wie Vorlagen funktionieren.

Das "Wunder", das Sie sich gewünscht haben, wird nicht eintreten.

wie der Compiler Vorlagen umwandelt, kann ich mir vorstellen, nichts Neues, es funktioniert auf die gleiche Weise?

struct A
  {
   int               i;
   double            d;
  };

template<typename T>
void f(int value,T &result)
  {
   T tmp;
   result = tmp;
  }
//+------------------------------------------------------------------+
void OnStart()
  {
   A a;
   int i = 1;
   f(i,a);
  }
//+------------------------------------------------------------------+
Andrej Truchanowitsch:

weil die Vorlage nur Typen nach Parametern, aber nicht nach Ausgabewert ausgibt.

Verstehe, ich hatte gehofft, dass ich etwas übersehen habe.

Okay, es ist nicht kritisch, es wird über Parameter funktionieren