Fehler, Irrtümer, Fragen - Seite 1037

 
A100:
Heißt das, wenn die .dll entladen wird, gehen auch alle Daten verloren? Ich habe es ausprobiert - aber ich habe keinen Datenverlust festgestellt - wahrscheinlich versteht das System irgendwie, dass es nicht nötig ist, zu einem bestimmten Zeitpunkt zu entladen

Ich meine, dass externe Variablen zur Kompilierzeit gebunden werden.

DLL (und mql-library) werden nicht mit dem Hauptprogramm kompiliert, können also nicht gelinkt werden. Stringo-Fehler, im Prinzip sollte es einen Fehler bei der Kompilierung Zeit. Es ist da, es ist offensichtlich.

https://www.mql5.com/ru/docs/basis/variables/externvariables

Externe Variablen

Das Schlüsselwort extern wird verwendet, um Variablenbezeichner als Bezeichner einer statischen Speicherklasse mit globaler Lebensdauer zu deklarieren. Solche Variablen existieren ab dem Zeitpunkt der Programmausführung und der Speicher für sie wird sofort nach Beginn der Programmausführung zugewiesen und initialisiert.

Sie können Programme erstellen, die aus mehreren Quelldateien bestehen, dazu wird die Präprozessor-Direktive #include verwendet. Als extern deklarierte Variablen mit demselben Typ und Bezeichner können in verschiedenen Quelldateien desselben Projekts existieren.

Wenn das gesamte Projektkompiliert wird, werden alle externen Variablen mit demselben Typ und Bezeichner mit demselben Bereich des Speicherpools der globalen Variablen verbunden. Externe Variablen sind nützlich für die separate Kompilierung von Quelldateien. Externe Variablen können nur einmal initialisiert werden - das Vorhandensein mehrerer initialisierter externer Variablen desselben Typs und mit demselben Bezeichner ist inakzeptabel.

 
zfs:
Variable wird 2 mal initialisiert, beheben Sie zumindest diesen Fehler zuerst und verwenden Sie eine neue Variable für die Berechnung.

https://www.mql5.com/ru/forum/1111/page1053#comment_570931

Nummerierte Zeilen. Welche Zeile in welcher Datei - entfernen?

 
A100:

https://www.mql5.com/ru/forum/1111/page1053#comment_570931

Nummerierte Zeilen. Welche Zeile in welcher Datei - entfernen?

Die Linie 20 ist die Hauptlinie und wird überall zu sehen sein.
 
zfs:
Linie 20 grundsätzlich und wird überall sichtbar sein.
Entfernt
10 //test.mq5
20
30 #import "testLib.ex5"
40          void f();
50 #import
60 void OnStart()
70 {
80         e1 = 10;
90         f();
100 }
Lässt sich nicht kompilieren e1 - nicht deklarierter Bezeichner, der erwartet wird.
 
zfs:
Es scheint so, als ob Sie im September versprochen wurden).

Nein, der September war mir nicht bekannt.

Die Anwendung in Service Desk wurde geschlossen - es hieß, das Problem sei im nächsten Build behoben. Auch hier im Forum habe ich nichts gesehen.

Nun, egal - danke für die Information.

Общайтесь с разработчиками через Сервисдеск!
Общайтесь с разработчиками через Сервисдеск!
  • www.mql5.com
Ваше сообщение сразу станет доступно нашим отделам тестирования, технической поддержки и разработчикам торговой платформы.
 
A100:
EntferntNicht kompiliert e1 - nicht deklarierter Bezeichner, der erwartet wird.

in mqh herausnehmen und mit beiden Dateien verbinden

 
zfs:

in mqh herausnehmen und mit beiden Dateien verbinden

Ich habe ihn herausgeholt und angeschlossen.

https://www.mql5.com/ru/forum/1111/page1053#comment_569138

Ergebnis ist unverändert.

 
A100:

Ich habe ihn herausgeholt und angeschlossen.

https://www.mql5.com/ru/forum/1111/page1053#comment_569138

Das Ergebnis ist das gleiche

Was hat TestLib damit zu tun?

Beginnen wir am anderen Ende. Sagen Sie mir, welches Ergebnis wollen Sie erreichen? Was wollen Sie erreichen? Punkt für Punkt.

 
stringo:

Fangen wir am anderen Ende an. Sagen Sie mir, welches Ergebnis wollen Sie erreichen? Was wollen Sie erreichen? Punkt für Punkt.

Ich möchte eine Variable, die in mehreren .ex5-Modulen gelesen und geschrieben werden kann
 
A100:
Ich möchte eine Variable erhalten, die in mehreren .ex5-Modulen gelesen und geschrieben werden kann
Erstellen Sie eine globale.