StereoAPI-Fehler bei SEA-Kompilierung

 

Hallo Leute,

Ich programmiere SEA´s für den Stereotrader, schon ein paar Jahre.

Ich habe Probleme bei der Kompilierung, welche aber nicht auf die SEA von mir zurückzuführen ist.
Ich fasse mal kurz zusammen:

MetaTrader 5 mit Stereotrader installiert. Selbstgeschriebene SEA´s, Kompilierung alles OK. Lief über Jahre.

Irgendwann Fehlermeldung beim übersetzen SEA, warum auch immer.
Neuinstall alles nix genützt.

Anderen Rechner zum kompilieren hergenommen, dort kein Stereotrader installiert, nur Metatrader.
Die kompilierte Datei jedesmal auf den "Trading-Rechner" rüberkopiert. Ging wieder Jahre so.

Heute früh, das selbe Spiel-dieselben Fehlermeldungen. Kein Update, kein Neustart, Nix verändert. Der MetaEditor wurde nichtmal geschlossen!

14320 {
14321 int w,h;
14322 TextSetFont(fontname,-fontsize,FW_NORMAL);
14323 TextGetSize(text,w,h);
14324 return(int)double((double)w*1.7);
14325 }

'w' - parameter conversion not allowed    _StereoAPI_MT5.mqh    14323    18
   built-in: bool TextGetSize(const string,uint&,uint&)    _StereoAPI_MT5.mqh    14323    18


22004 {
22005 if(!FontSet())
22006 return(0);
22007 int w,h;
22008 TextGetSize(text,w,h);
22009 return(w);
22010 }

'w' - parameter conversion not allowed    _StereoAPI_MT5.mqh    22008    18
   built-in: bool TextGetSize(const string,uint&,uint&)    _StereoAPI_MT5.mqh    22008    18



Ich verstehe nicht weshalb sich dort in der StereoAPI etwas verändert haben soll.

Soweit ich das sehe werden die Daten für Weite und Höhe eingelesen (Integer) und können nicht umgewandelt werden. "w" ist

Vielleicht hat einer einen Tip für mich.

Danke an euch

Dateien:
Stereo.png  109 kb
 

In beiden Beispielen der Dok. zuTextGetSize() werden die per Ref. übergebenen Variablen initialisiert. (siehe: https://www.mql5.com/en/docs/objects/textgetsize)

Hast'e versucht int w=0, h=0; ?

Hast'e andere Versionen zB, separat im Skript Varianten versucht? Mach mal. :)

Documentation on MQL5: TextGetSize / Object Functions
Documentation on MQL5: TextGetSize / Object Functions
  • www.mql5.com
The function returns the line width and height at the current font settings . Parameters text [in]  String, for which length and width should...
 

Hallo Carl,


ich danke dir für deine Unterstützung.

Das Problem hat sich zwischenzeitlich gelöst. Wie gesagt aufgetreten war es in der STereotrader API, war ich nie dran. Wurde dann durch ein Update irgendwann gefixt.
Warum das gestern aus heiterem Himmel auf dem einen Rechner auftrat weiss ich nicht.
Ich hatte an 2 STellen im Programm den Datentyp von INT auf UINT geändert. Damit war es zumindest dort OK.

Auf dem einen besagten Rechner lässt sich der MetaEditor nicht mehr starten. Prozedureinsprungspunkt "GetSystemTimePreciseAsFileTime" nicht gefunden.

Somit kann ich es dort nicht mehr korrigieren.

Da es aber auf dem anderen Rechner läuft ist es somit erledigt.