Fehler, Irrtümer, Fragen - Seite 1349

 
Vladimir Pastushak:

Beliebige Lebewesen können mit Datum und Preis verknüpft werden, und beliebige mit Datum und Preis verknüpfte Objekte können mit X- und Y-Koordinaten verknüpft werden.

Alle Klassen und Bibliotheken in Terminals sind als Beispiele geschrieben und zeigen die Möglichkeiten der Sprache, wenn Sie etwas anderes brauchen, schreiben Sie einfach was Sie brauchen ...

Ihre Frage bezieht sich auf ein anderes Thema in diesem Forum

Sie wollen wahrscheinlich nicht verstehen - ich habe einen Vorschlag gemacht, wie meiner Meinung nach bequemer, und die Tatsache, dass jemand hier begonnen hat, vorzuschlagen, wie man in etwas mit einer Krücke schrauben, ist das Thema wirklich nicht relevant ...

Und über die Klassen der Standardbibliothek würde ich das nicht sagen - sie sind offensichtlich nicht als Beispiel gedacht und nicht, um die Möglichkeiten der Sprache zu demonstrieren, sonst würden sie nicht aktualisiert werden. Und die Schnittstellen, die ich brauche, habe ich bereits mit meiner eigenen Klassenbibliothek implementiert, was bedauerlich ist. Der Entwickler hat keine Lust, etwas auf Wunsch der Benutzer zu ändern, d.h. die Standard-Klassenbibliothek ist wirklich nicht STL in C++ und die Gemeinschaft wird nicht geschaffen und verbessert, und wie toll wäre es, wenn normale Innovationen in dieser Bibliothek eingeführt würden. Zum Beispiel gibt es eine gute Implementierung von transparenten Schaltflächen https://www.mql5.com/ru/forum/41914 und es ist wirklich nützliche Funktionalität, und mit Standard-Schnittstelle Standard der Standard-Bibliothek geschrieben. Ähnlich verhält es sich bei den Funktionen: Der Entwickler hat in einigen Funktionen Überladungen eingeführt, warum also nicht auch bei den Funktionen zur Objektbindung? Schließlich funktioniert eine Funktion schneller, als wenn man sie mit einem Wrapper versieht.

Библиотеки: Класс СBmpButtonTransparent
Библиотеки: Класс СBmpButtonTransparent
  • www.mql5.com
Класс кнопки позволяет обрабатывать наведение мышки и нажатие на кнопку любой произвольно заданной формы. - - Категория: статьи и техническая библиотека по автоматическому трейдингу
 

Admins, macht etwas mit den Scheinfreunden, die ständig nach Freunden fragen! Denn diese Anfragen kommen regelmäßig von denen, die bereits abgelehnt wurden!

Ich habe die Nase voll von ihren Werbeseiten! Vielleicht sollten wir zu den bereits vorhandenen Schaltflächen "Akzeptieren" und "Ablehnen" eine weitere Schaltfläche wie "Verbot" oder "Beschwerde" hinzufügen?

 

Es gibt noch einen weiteren Fehler, den ich seit langem sehe, aber ich kann den Grund dafür nicht herausfinden.

Der Kern des Fehlers betrifft OBJPROP_TOOLTIP bei der Erstellung eines Objekts, wie z. B. Schaltflächen, wenn Sie OBJPROP_TOOLTIP angeben, wird manchmal einfach nicht geschrieben ...

Ich erstelle zum Beispiel 10-15 Schaltflächen, 10 davon erhalten OBJPROP_TOOLTIP, aber 5 nicht ... Ich weiß nicht, woran das liegt ...

 
Vladimir Pastushak:

Es gibt noch einen weiteren Fehler, den ich seit langem sehe, aber ich kann den Grund dafür nicht herausfinden.

Der Kern des Fehlers betrifft OBJPROP_TOOLTIP bei der Erstellung eines Objekts wie einer Schaltfläche, wenn die Angabe von OBJPROP_TOOLTIP geschieht, dass OBJPROP_TOOLTIP einfach nicht geschrieben wird ...

Ich erstelle z.B. 10-15 Schaltflächen, bei 10 ist OBJPROP_TOOLTIP aufgelistet und bei 5 nicht ... Ich kann es nicht herausfinden ...

Ich habe herausgefunden, wann dieser Fehler auftritt!!!

Wenn der Objektname ein "Com"-Textfragment enthält, funktioniert OBJPROP_TOOLTIP nicht .....

 
Hilfe, ich verstehe nicht, warum und wie der Berater nicht funktioniert
Dateien:
 
MSI357 Михаил:
Hilfe, ich verstehe nicht, warum und wie der EA nicht funktioniert

Für den Anfang verschreiben Sie bitte

#property strict
alle Warnungen beheben. Und dann beschreiben Sie genauer, was nicht funktioniert.
 
MSI357 Михаил:
Hilfe, ich verstehe nicht, warum oder wie der EA nicht funktioniert
Der Code ist im alten Stil geschrieben, d.h. er hat keine strenge Fehlerkontrolle, dafür muss man am Anfang des Codes etwas vorschreiben:
#property strict

Es ist auch notwendig, alle Ereignisbehandlungsfunktionen in Übereinstimmung zu bringen, siehe die Hilfe in diesem Abschnitt und sehen Sie sich den Code an - ersetzen Sie alle veralteten Funktionen durch neue.

Es ist wünschenswert, globale Variablen im EA-Code, die nur in Benutzerfunktionen verwendet werden, durch lokale Variablen zu ersetzen. Durch diesen Schritt werden viele "kindische" Fehler vermieden, und der Code ist leichter zu lesen.

Es ist obligatorisch, die Änderungen in den Prioritäten der Operationen zu überprüfen (die entsprechende Hilfedatei), einige Operationen im alten Stil haben ihre Prioritäten geändert, bzw. Sie müssen möglicherweise die Bedingungen in der Logik ändern.

Wenn dann noch Fehler auftreten, fragen Sie nach, und beschreiben Sie genau, was nicht funktioniert.

 

Frage zu diesem Thema. Wurde der Recompiler von MT4 zu MT5 und umgekehrt schon aufgehoben und wie sind die Ergebnisse?

Durch einen Berater, um zu einem anderen Terminal zu wechseln.

 
Vladimir Pastushak:

Ich habe herausgefunden, wann dieser Fehler auftritt!!!

Wenn der Objektname das Textfragment "Com" enthält, funktioniert OBJPROP_TOOLTIP nicht .....

Com ! =Com

alles funktioniert

void OnStart()
{
        const string object_name = "Сom";
        ::ObjectCreate( 0, object_name, OBJ_BUTTON, 0, 0, 0 );
                          ::ObjectSetString( 0, object_name, OBJPROP_TOOLTIP, object_name );
        const string tt = ::ObjectGetString( 0, object_name, OBJPROP_TOOLTIP );
        Print( "tt=", tt );
}
 
A100:

Com != Com

alles funktioniert

Keine Fehler bei russischem Text, russisches Häkchen leuchtet rot...

Sie erstellen ein Objekt anders für mich, 20 Objekte...

Warum stellen Sie :: vor die Funktion?