Alle Fragen von einem PROFI an einen SUPER PROFI - 1. - Seite 33
![MQL5 - Sprache von Handelsstrategien, eingebaut ins Kundenterminal MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Sie verpassen Handelsmöglichkeiten:
- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Registrierung
Einloggen
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Wenn Sie kein Benutzerkonto haben, registrieren Sie sich
Ich danke Ihnen! Das alles ist natürlich schon oft gelesen worden. Vielleicht gibt es keine Möglichkeit, die Größe des bereits geöffneten Displays zu erhöhen. Sie müssen alles selbst machen.
1. Verschieben Sie die Daten Stück für Stück in ein neues temporäres Mapping.
2. Schließen Sie das alte.
3. Öffnen Sie eine neue Datei mit größerem Format.
4. Verschieben Sie alles aus dem temporären Mapping Stück für Stück dorthin.
Unheimlich. Alles lang.
der link dort besagt, dass die daten auch dann noch kohärent sind, wenn man eine kartierung derselben, aber in verschiedenen größen, öffnet, d.h. eigentlich ist alles an einem ort gespeichert. und wird einfach projiziert.
Ich will damit sagen, dass das Kopieren nicht unbedingt notwendig ist.
Handelt es sich um dieselbe Sache mit demselben Namen? In diesem Fall wird dieselbe Zuordnung geöffnet, allerdings mit einem neuen Deskriptor. Das ist genau das, was ich getan habe. Die Größe nimmt nicht zu.
Sie müssen alle Deskriptoren schließen, und erst dann können Sie sie mit der neuen Größe wieder öffnen.
Daten können nur über den Speicher des aktuellen Prozesses von einem Mapping zu einem anderen übertragen werden.
Ich habe herausgefunden, wie man es macht!
Sie sollten immer eine Dateiabbildung einer temporären Datei öffnen. Mit einer Mindestgröße von 1 Byte. Wenn Sie die Dateizuordnung öffnen, wird alles in der Datei selbst gespeichert. Öffnen Sie dann die Dateizuordnung dieser Datei erneut mit einer neuen Größe.
http://www.delphisources.ru/pages/faq/base/filemapping.html
dwMaximumSizeHigh ist ein hoher 64-Bit-Wert für die Größe des gemeinsamen Speichers (mehr als 4 Gbt) - wir brauchen nicht so viel :) - Weisen wir diesem Argument den Wert 0 zu.
dwMaximumSizeLow - Danke an die netten Bewohner des Königreichs, die auf den Fehler in der Beschreibung dieses Arguments hingewiesen haben! Besonders Herr Uno, der es sehr gut erklärt hat! (siehe Kommentar zum Artikel) - der untere 64-Bit-Wert der Größe des gemeinsamen Speichers - wenn dwMaximumSizeHigh gleich 0 ist, muss die Größe dieses Arguments mindestens SIZE OF DATA sein, um in der Auslagerungsdatei abgelegt zu werden. Beachten Sie, dass die Größe der Intel-"Seite" 4 KBt beträgt, d.h. wenn Sie 1 Byte angeben, erhalten Sie eine "Tasche zum Teilen" :) 4 KBt, wenn Sie 4001 angeben, können Sie bis zu 8Kbt Daten in das File Mapping-Objekt packen usw.
Vielen Dank für diese Erinnerung. Es half bei der Lösung eines anderen Problems.
Der Speicherschutz in der Mapping-Bibliothek wurde überarbeitet. Ich habe es vergessen. Ständig erscheinen meine Warnungen über unzureichenden Speicher. Ich habe es aber automatisch zugewiesen bekommen.
Ich hatte letzte Nacht einen Traum :-)
warum gibt es im Demokonto keine sofortige Ausführung?