Aber ich befinde mich ja innerhalb der selben Klasse.... also der Chart, das Event und an der Stelle wo ich den Button modifizieren möchte ist die selbe Klasse? Da wäre ja private okay, selbst wenn ich die Methode auf public switche, kommt die Warnung.
Hier mal die aufrufende Methode, ... nach dem Aufruf GetButtonByName(), hätte ich erwatet, dass in l_Button der Button vorhanden ist und ich bspw. dann in der nächsten Zeile die Farbe ändern kann (natürlich wird das später woanders gemacht, aber ich versuche gerade herauszufinden warum ich den Button da nicht zurück bekomme)
//+------------------------------------------------------------------+ //| Ereignishandler | //+------------------------------------------------------------------+ void CTimeManagerGUI::onChartEvent(const int iId, // Ereignis ID const long& lParam, // Ereignisparameter vom Typ long const double& dParam, // Ereignisparameter vom Typ double const string& sParam) { CButton l_Button; //On Object Click if(iId==CHARTEVENT_OBJECT_CLICK) { if(StringFind(sParam,"Buttonstate",0)>=0) { GetButtonByName(sParam,l_Button); l_Button.ColorBackground(clrOrange); HandleButtonState(l_Button); } AppWindow.ChartEvent(iId,lParam,dParam,sParam); }
Schau dir diese Seite an mit den Links oben zu Artikel.
Einzeln durcharbeiten. Das Thema ist komplex und MQL5 hat Unterschiede zu C/C++
Im Übrigen ist das zu wenig Code um da eine Einschätzung abzugeben, woran es hakt.
Sinnvoller ist kompletter Code. Geht oft schneller.

- www.mql5.com
Okay, danke für eure Antworten.... werde ich mich da doch nochmal komplett durchackern müssen :-)
Habe es mittlerweile auch mit ObjectGetString()/Integer und Co. gelöst, was sicherlich auch schöner ist, .... aber warum das Beispiel oben nicht funktioniert hat, würde mich dennoch interessieren :-)
Danke euch and have a nice Weekend!
Okay, danke für eure Antworten.... werde ich mich da doch nochmal komplett durchackern müssen :-)
Habe es mittlerweile auch mit ObjectGetString()/Integer und Co. gelöst, was sicherlich auch schöner ist, .... aber warum das Beispiel oben nicht funktioniert hat, würde mich dennoch interessieren :-)
Danke euch and have a nice Weekend!
Ich arbeite bei den buttons. Icht mehr mit der ctrade class, viel zu aufwändig. Mit button create und objectset... bin ich schneller und klarer

- Freie Handelsapplikationen
- Über 8.000 Signale zum Kopieren
- Wirtschaftsnachrichten für die Lage an den Finanzmärkte
Sie stimmen der Website-Richtlinie und den Nutzungsbedingungen zu.
Hallo,
ich versuche gerade verzweifelt bei einem Chart-Event anhand des Parameters sParam den Button als Referenz zurückzugeben, damit ich die Farbe etc. des Buttons in einer anderen Methode bearbeiten kann.
Mit dem Befehl
Kann ich innerhalb der Methode die Farbe und Co. ändern .... außerhalb der Methode ist es dann leider nicht mehr möglich.
Anbei der Code:
Wenn ich das auch so kompeliere .... bekomme ich auch eine Warnung die mir schon verrät, dass ich wohl keine Referenz auf den Button außerhalb der Methode mehr habe.
Aber wie gebe ich jetzt genau diesen Button der gefunden wurde zurück, damit ich woanders weitere Dinge mit dem Button anstellen kann? :-(