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
Ein Ratschlag zu einem anderen Thema. Wenn Sie eine Unterklasse CMyButton von CButton erstellen, können Sie eine Schaltfläche erstellen und dann ihre Eigenschaften außerhalb der Klasse ändern. Im Folgenden wird dies in OnInit() durchgeführt.
Aber wenn ich zusätzliche Felder innerhalb der Kindklasse erstellen und die eingebauten Eigenschaften der CButton-Klasse in neuen Funktionen verwenden möchte, wie kann ich dies korrekt tun?
In der Klasse CButton wird das Klassenmitglied m_button im Abschnitt private deklariert.
Ich kann nicht in den privaten Bereich der übergeordneten Klasse gelangen.
Vielleicht könnten wir es einfach und geradlinig halten - schauen Sie sich an, wie der Name des grafischen Objekts in der CButton-Klasse gebildet wird und arbeiten Sie direkt mit diesen grafischen Objekten. Umso mehr bei einer Schaltfläche, die nur ein grafisches Objekt hat, sollte es einfach sein.
Ja, bereits zwei unbeteiligte Personen haben ein Kreuz aus Ihrem Code gemacht.)
Ihr Code kann nicht richtig funktionieren - das ist aus dem Code selbst ersichtlich).
Zwei Personen? Das entspringt Ihrer Fantasie, was? Sie sollten zumindest genauer lesen oder sich die Bilder genauer ansehen. Die erste Meldung stammt von einem Debugger. Es wird kompiliert und funktioniert ohne den Debugger.
Zwei Personen? Aus deiner Fantasie, hm? Sie sollten genauer lesen oder sich zumindest die Bilder genauer ansehen. Die erste Meldung kommt von einem Debugger. Ohne Debugger kompiliert es und funktioniert.
Ich habe es ohne Debugger zum Absturz gebracht.)
es stürzt auch im Debugger ab ))
vielleicht wissen Sie einfach nicht, wo Sie das Ausgabeprotokoll des Skripts einsehen können? )))
Ich stürze ohne Debugger ab)
Ich bin auch im Debugger am Klettern).
vielleicht wissen Sie einfach nicht, wo Sie das Ausgabeprotokoll des Skripts einsehen können? )))
Nein, ich weiß es nicht, sag mir, wo es ist.
Ein Ratschlag zu einem anderen Thema. Wenn Sie eine Unterklasse CMyButton von CButton erstellen, können Sie eine Schaltfläche erstellen und dann ihre Eigenschaften außerhalb der Klasse ändern. Im Folgenden wird dies in OnInit() durchgeführt.
Aber wenn ich zusätzliche Felder innerhalb der Kindklasse machen möchte, und verwenden Sie die eingebauten Eigenschaften der Klasse CButton in neue Funktionen, wie kann dies korrekt implementiert werden?
In der Klasse CButton ist das Klassenmitglied m_button im Abschnitt private deklariert.
Ich denke, Sie lösen Ihr Problem wieder von der "Schwanz"-Seite, ich würde vorschlagen, es von der anderen Seite zu lösen:
Sie können nicht in den privaten Bereich der übergeordneten Klasse gelangen.
Sie können zumindest mit #define einsteigen und mit dynamic_cast experimentieren. Letztes Jahr habe ich dynamic_cast studiert und es leistet Erstaunliches, aber es ist ein zeitraubender Prozess
ich habe es ohne Debugger geschafft )
geprüft - ich bekam auch: 2019.07.05 17:10:27.307 1 (EURUSD,H1) ungültiger Zeigerzugriff in '1.mq5' (43,6)
Und Sie haben mich fasziniert, also dachte ich, vielleicht bin ich wirklich der Idiot, für den Sie mich halten. Ich habe einen Code ausgegraben, den ich vor fünf Jahren geschrieben habe, hier ist ein Ausschnitt:
Also, Sie können... spucken Sie Ihre... alles was du willst... ...und träumen, dass ich ein Idiot bin, aber bis jetzt ist es umgekehrt. Ihr hüpft herum wie die Verrückten und es nützt nichts.
***
Und bei meinem Code wird trotz der Tatsache, dass er kompiliert und funktioniert, schnell klar, dass etwas nicht stimmt. Das Objekt wird nicht über delete gelöscht.
Aber Sie glauben gerne, dass ich gar nicht weiß, was: CObj obj; glauben Sie nur weiter...
***
Aber sie sind bereit, sich die Ohren abzuschneiden, "um ihren Großvater zu ärgern". Sogar ihr Müllsammler erschien in MQL.
Und Sie haben mich fasziniert, also dachte ich, vielleicht bin ich wirklich der Idiot, für den Sie mich halten. Ich habe einen Code ausgegraben, den ich vor fünf Jahren geschrieben habe, hier ist ein Ausschnitt:
Also, Sie können... spucken Sie Ihre... alles was du willst... ...und sagen, ich sei ein Idiot, aber bisher ist es umgekehrt.
Hier ist alles korrekt, der Zeiger wird referenziert, während derjenige, um den sich der ganze Streit dreht, ein Verweis auf ein Objekt ist, das nicht existiert. Sehen Sie sich den Code genau an.
Glauben Sie wirklich, dass ich nicht bemerken kann, dass an einer Stelle ein * und an einer anderen ein * & steht?
Und glauben Sie auch, dass ich nicht weiß, wasCObj obj; ist?
...ein Verweis auf ein Objekt, das nicht existiert...
Aber es kompiliert und funktioniert.
Glauben Sie wirklich, dass ich nicht bemerken kann, dass an einer Stelle ein * und an einer anderen ein * & steht?
Und glauben Sie auch, dass ich nicht weiß, wasCObj obj; ist?