Fehler, Irrtümer, Fragen - Seite 1063
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
Versuchen Sie ObjSetInteger(id, Name, OBJPROP_BACK, false);
Ich habe es ausprobiert. Das Formular fällt zwar nach hinten, aber auf die hässlichste Art und Weise, d.h. es fällt sogar hinter Gitterstäbe. Und die Aufgabe ist etwas anders, ich brauche nur den Text, der im Formular angezeigt wird, wobei das Formular selbst über der Grafik und anderen Formularen liegt.
Die Objekte werden in der Reihenfolge angezeigt, in der sie erstellt wurden. Wenn Sie die Reihenfolge ändern möchten, sollten Sie die Objektdaten speichern und sie in der richtigen Reihenfolge neu erstellen.
Oder ist der Fehler sogar darin zu finden?
Ich habe es ausprobiert. Das Formular fällt zwar nach hinten, aber auf die hässlichste Art und Weise, d.h. es fällt sogar hinter Gitterstäbe. Und die Aufgabe ist etwas anders, Sie brauchen nur den Text, der im Formular angezeigt werden soll, wobei das Formular selbst über der Grafik und anderen Formularen liegt.
Sie müssen nur die Reihenfolge berücksichtigen, in der die grafischen Objekte erstellt werden. Diejenigen, die darunter liegen sollten, sollten zuerst erstellt werden.
Ja, das war das Erste, woran ich gedacht habe. Ich habe die Reihenfolge geändert - gleiches Ergebnis. Aber es gibt keine Wunder. Aber jetzt habe ich ein funktionierendes Projekt genommen und versucht, OBJ_EDIT dort zu platzieren, und es hat gut funktioniert, d.h. es ist über dem Formular sichtbar. Alles in allem sieht es also wie die Hölle aus. Offensichtlich habe ich etwas vergessen oder nicht bedacht. Aber ich wollte es trotzdem in Ordnung bringen, damit ich beim nächsten Mal nicht den gleichen Fehler mache. Hier ist der Code von OnInit() für den Test:
Ja, das war das erste, woran ich gedacht habe. Ich habe die Reihenfolge geändert - gleiches Ergebnis. Aber es gibt keine Wunder. Aber jetzt habe ich ein funktionierendes Projekt genommen und versucht, OBJ_EDIT dort zu platzieren, und es hat gut funktioniert, d.h. es ist über dem Formular sichtbar. Alles in allem sieht es also wie die Hölle aus. Offensichtlich habe ich etwas vergessen oder nicht bedacht. Aber ich möchte es trotzdem herausfinden, damit ich diesen Fehler beim nächsten Mal nicht mache. Hier ist der Code von OnInit() für den Test:
In diesem Fall brauchen wir ein Objekt-Handler, so dass das Konto von dem, was erstellt wird und in welcher Reihenfolge war an einem Ort, dann wird es keine Überschneidungen, wenn eine Funktion erstellt diese zweite dies, und die Änderung der Funktion aufrufen wird die Reihenfolge ändern.
Es ist schwer, diese Art von Fehler zu erkennen und sogar vorherzusehen.
Hallo zusammen!
In der Hilfe gibt es einen Absatz wie diesen:
Wenn sich also ein ChartEvent in der Ereigniswarteschlange befindet, sollte es nicht ein zweites Mal in die Warteschlange gestellt werden. Ich hatte ein Problem mit ihm :)
Ich habe einen Expert Advisor gezeichnet, um das zu überprüfen. Es stellte sich heraus, dass unabhängig davon, ob ein ChartEvent-Ereignis in der Warteschlange vorhanden ist oder nicht, der ChartEvent-Handler so oft aufgerufen wird, wie ich ihn generiere.
Das ist großartig, aber meiner Meinung nach muss ich die Hilfe korrigieren... Oder liege ich falsch?
Hallo zusammen!
In der Hilfe gibt es einen Absatz wie diesen:
Wenn sich also ein ChartEvent in der Ereigniswarteschlange befindet, sollte es nicht ein zweites Mal in die Warteschlange gestellt werden. Ich hatte ein Problem mit ihm :)
Ich habe einen Expert Advisor gezeichnet, um das zu überprüfen. Es stellte sich heraus, dass unabhängig davon, ob ein ChartEvent-Ereignis in der Warteschlange vorhanden ist oder nicht, der ChartEvent-Handler so oft aufgerufen wird, wie ich ihn generiere.
Das ist großartig, aber ich glaube, wir müssen die Hilfe korrigieren... Oder liege ich da falsch?
Dies gilt nur für den Fall, dass die Warteschlange überläuft. Wenn die Warteschlange voll ist, wird der Ereignistyp, der sich bereits in der Warteschlange befindet, nicht platziert.
Wenn die Warteschlange nicht voll ist (und die Länge der Warteschlange 1024 beträgt), werden alle Ereignisse bearbeitet.
Dies gilt nur, wenn die Warteschlange voll ist. Wenn die Warteschlange voll ist, wird ein Ereignis eines Typs, der sich bereits in der Warteschlange befindet, nicht in die Warteschlange aufgenommen.
Wenn die Warteschlange jedoch nicht überläuft (und die Länge der Warteschlange beträgt meiner Meinung nach 1024), werden alle Ereignisse verarbeitet.
Ich hab's. Vielen Dank :)
PS: Der obige Expert Advisor konnte nicht mehr als 1000 in die Warteschlange stellen.
Info für MQ. Im Handbuch für OnTimer steht "... zu empfangen durch EventSetTimer()...". Sie sollten auch "... oder EventSetMillisecondTimer()..." hinzufügen.