Fragen von Neueinsteigern zu MQL4 und MQL5, Hilfe und Diskussion über Algorithmen und Codes - Seite 366

 
msl271170:

Danke, ich glaube, ich habe es verstanden.

Und wie lässt man den Debugger auf historischen Daten laufen?


Ich helfe gerne.

Debugging ist nur in der Historie des MT5 möglich.

 
Aleksey Vyazmikin:

Ich helfe gerne.

Debugging ist nur in der Historie des MT5 möglich.


Ich verstehe, dass MT5 eine andere Programmiersprache hat. Wird mein Code dort nicht funktionieren?

 
msl271170:

Ich verstehe, dass MT5 eine andere Programmiersprache hat. Wird mein Code dort nicht funktionieren?

Keiner hat Ihren Code gesehen. Deshalb ist es so schwierig zu sagen. Aber die Sprachen sind fast identisch.
 

Im Anhang finden Sie eine Tafel, die auf dem Beispiel von SB basiert. Ich habe den Code bereinigt, so dass nur noch das übrig ist, was für die Frage relevant ist; der Quellcode ist beigefügt.



Können Sie mir sagen, wie ich die Kopfzeile und den Hauptbereich, an den wir die Elemente hängen, einfärben kann?
Es scheint, dass sich diese Objekte in der übergeordneten Klasse Dialog befinden,

private:
   //--- dependent controls
   CPanel            m_white_border;        // the "white border" object
   CPanel            m_background;          // the background object
   CEdit             m_caption;             // the window title object
   CBmpButton        m_button_close;        // the "Close" button object
   CWndClient        m_client_area;         // the client area object

Und sie haben entsprechende Methoden


Aber wie komme ich richtig an die privaten Felder?

Dateien:
 
Vasiliy Pushkaryov:

Im Anhang finden Sie eine Tafel, die auf dem Beispiel von SB basiert. Ich habe den Code bereinigt, so dass nur noch das übrig ist, was für die Frage relevant ist; der Quellcode ist beigefügt.



Können Sie mir sagen, wie ich die Kopfzeile und den Hauptbereich, an den wir die Elemente hängen, einfärben kann?
Es scheint, dass sich diese Objekte in der übergeordneten Klasse Dialog befinden,

Und sie haben entsprechende Methoden


Aber wie komme ich richtig an die privaten Felder?

Sie haben eine Liste von Methoden für den Zugriff auf diese Felder auf dem Bild. Sind die Methoden öffentlich?
 
Artyom Trishkin:
Sie haben eine Liste von Methoden für den Zugriff auf diese Felder auf dem Bild. Sind die Methoden öffentlich?

Nein. Ich habe es in CDialog im Konstruktor eingegeben, es erfasst und dann alles wieder zurückgesetzt.

 
Artyom Trishkin:
Sie haben eine Liste von Zugriffsmethoden auf diese Felder auf dem Bild. Sind die Methoden öffentlich?

Es gibt eine öffentliche Methode CDialog::CreateCaption(), CreateClientArea(). Dort werden Panels erstellt, deren Farben über CONTROLS_DIALOG_COLOR_BG und CONTROLS_DIALOG_COLOR_CLIENT_BG festgelegt werden.

Ich habe versucht, diese Variablen in meiner Klasse durch undef zu überschreiben und sie neu zu definieren. Dann führen Sie die Methoden Create... erneut aus, aber da die Objekte bereits erstellt wurden, wird ein Fehler 4200 zurückgegeben - das Objekt existiert bereits.

Hinzugefügt:

Fehler 4200 ist, wenn ich in MT4 überprüft.

 
Vasiliy Pushkaryov:

Es gibt eine öffentliche Methode CDialog::CreateCaption(), CreateClientArea(). Dort werden Panels erstellt, deren Farben über CONTROLS_DIALOG_COLOR_BG und CONTROLS_DIALOG_COLOR_CLIENT_BG festgelegt werden.

Ich habe versucht, diese Variablen in meiner Klasse durch undef zu überschreiben und sie neu zu definieren. Dann führen Sie die Methoden Create... erneut aus, aber da die Objekte bereits erstellt wurden, wird ein Fehler 4200 zurückgegeben - das Objekt existiert bereits.

Hinzugefügt:

Die 4200 Fehler ist, wenn ich in MT4 überprüft.

Ehrlich gesagt habe ich diese SB-Ressourcen noch nie genutzt. Aber was hindert Sie daran, in SB nachzuschauen, wo und mit welchen Methoden dort die Farben festgelegt werden. Was Sie in der Auflistung gezeigt haben:

private:
   //--- dependent controls
   CPanel            m_white_border;        // the "white border" object
   CPanel            m_background;          // the background object
   CEdit             m_caption;             // the window title object
   CBmpButton        m_button_close;        // the "Close" button object
   CWndClient        m_client_area;         // the client area object

- sind Objektnamen - CPanel, CEdit, CBmpButton und CWndClient Klassen.

Und Sie müssen die Namen der Mitglieder dieser Klassen finden, in denen die Farben gespeichert sind und mit welchen Methoden sie initialisiert oder geändert werden können.

Und wahrscheinlich müssen Sie sie erst initialisieren und dann das Objekt selbst erstellen.

 

Hallo!

Beim Kompilieren wird"undeklarierter Bezeichner" ausgegeben (undeklarierter Bezeichner)

Ich suchte und suchte, verstand aber nicht, was ich tun sollte, um den Fehler zu beheben

Hilfe, bitte!

Dateien:
Image_2.jpg  524 kb
 
Kedrov: Beim Kompilieren erscheint"undeclared identifier".
Klicken Sie auf die Fehlermeldung. Der Cursor zeigt auf den Variablennamen. Sie muss erklärt werden
Grund der Beschwerde: