MetaTrader 4 Build 529 beta liberado con nuevo compilador - página 51

 
Barbarian:

¿Has probado otras clases? ¿No funcionan también?

He mirado algo, pero no todo. Lo pruebo según la necesidad (escribiendo un programa). a veces pongo tapones (donde no funciona), hasta que llega el momento.

He mirado la clase Canvas, y los métodos de la clase utilizan las funciones de MQL5. Lo más probable es que esta sea la razón del problema. Por ejemplo, ¿método?

utiliza TextSetFont de MQL5, que probablemente no ha sido implementado en MQL4 todavía. Sin embargo, ya está presente en las descripciones de ayuda. Tal vez, se olvidaron de implementarlo.

Por cierto, los desarrolladores han hecho un gran trabajo con el resaltado de sintaxis en el editor. Es muy útil distinguir los métodos de la clase de las funciones del lenguaje.

Soy consciente de ello. Todo ya funcionaba allí hace 5-6 builds, incluso TextSetFont() por ejemplo este código funcionaba bien:

    Label = new CCanvas();      
    Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
    //0xffbbbb66);
    if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
    Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
    if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
    Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
    Label.Update();

sólo más tarde desactivado // espero que temporalmente :)

cuando funcionaba, funcionaba según las especificaciones.

 
MetaDriver:
He mirado algo, pero no todo. Lo pruebo según la necesidad (estoy escribiendo un programa). a veces pongo tapones (donde no funciona), hasta que las cosas mejoran.

Soy consciente de ello. Todo ya funcionaba allí hace 5-6 builds, incluyendo TextSetFont() por ejemplo este código funcionaba bien:

sólo se desactivó más tarde // espero que temporalmente :)

cuando funcionaba, lo hacía de acuerdo con las especificaciones.

Es muy extraño en ese momento. No tiene sentido desactivarlo si se habilitó desde el principio para ampliar la funcionalidad. En general, sería bueno obtener una versión actualizada con una lista de cambios y errores corregidos. Tendremos más problemas con el análisis de los nuevos МТ4.

Por cierto, hay un error. El operador new no devuelve un puntero a la memoria asignada como en C++. Hazlo así:

    CCanvas Label;// = new CCanvas();      
    Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
    //0xffbbbb66);
    if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
    Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
    if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
    Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
    Label.Update();

o así:

    CCanvas* Label = new CCanvas();      
    Label.CreateBitmapLabel("MyLabel",150,150,250,150,//COLOR_FORMAT_ARGB_RAW);
     COLOR_FORMAT_ARGB_NORMALIZE);
    Label.FillRectangle(5,5,220,120,ColorToARGB(BkColor,220));
    //0xffbbbb66);
    if(!Label.FontSet("Comic Sans MS",28,FW_BOLD)) Print(GetLastError());
    Label.TextOut(15,5,"Превед Label",ColorToARGB(0x004400,255));
    if(!Label.FontSet("Comic Sans MS",32,FONT_ITALIC|FONT_UNDERLINE|FW_LIGHT,-100)) Print(GetLastError());
    Label.TextOut(15,35,"Превед Label",ColorToARGB(0x004400,255));
    Label.Update();
    
    delete Label;

y funcionará. Leer https://www.mql5.com/ru/docs/basis/types/object_pointers. Yo también tropecé al principio, al haber olvidado el C++.

 
artmedia70:


Tengo mi nombre de usuario y mi contraseña en la pestaña Comunidad de mi configuración. Selecciono el archivo necesario en el Navegador del Editor, luego selecciono MQL5 Storage --> Añadir, y el nombre del archivo en el Navegador se marca con "+" azul. Parece que se ha añadido. Incluso aquellos archivos que fueron añadidos previamente, pero que fueron modificados posteriormente, están marcados con "!" en un círculo rojo. Parece que hay una diferencia. Pero no encuentro ningún archivo añadido en el propio repositorio:

¿Qué pasa?


Sí, (el almacenamiento) funciona, no necesariamente al 100% (puede que aún no haya descubierto lo de guardar versiones), pero funciona.

Basta con hacer clic en la elipsis ... - Tengo esta carpeta inicial con 2 carpetas en ella(proyecto y personal).

 
ALXIMIKS:


Sí que funciona (el almacenamiento), no al 100% (quizás no lo he entendido aún en lo que se refiere a guardar la versión), pero funciona.

Basta con hacer clic en la elipsis ... - Tengo una carpeta inicial con 2 carpetas en ella (proyecto y personal).

Por supuesto que se ha hecho clic. Volviendo al nivel anterior.
 
artmedia70:
Por supuesto que sí. Ir al nivel anterior.


¿Sus archivos añadidos tienen un círculo verde con una marca?

primero debe añadir a través de MQL Storeg ==> añadir, y luego hacer clic en el archivo o carpeta para confirmar a través de PCM ==> confirmar.

 
ALXIMIKS:


¿ves un círculo verde con una marca en los archivos añadidos?

primero debe añadir a través de MQL Storeg ==> añadir, y luego hacer clic en el archivo o carpeta para confirmar a través de PCM ==> confirmar.

Gracias, lo intentaré. No lo hice así.
 
ALXIMIKS:


¿ves un círculo verde con una marca en los archivos añadidos?

primero debe añadir a través de MQL Storeg ==> añadir, y luego hacer clic en el archivo o carpeta para confirmar a través de PCM ==> confirmar.

Exactamente, tienes razón. Ayudó ;)
 
Barbarian:

Por cierto, los desarrolladores han hecho un gran trabajo en términos de resaltado de sintaxis en el editor.

Sí, me gusta mucho la combinación de colores. Quiero lo mismo en el estudio :-)
 
Barbarian:

Es muy extraño entonces. Por qué apagarlo si se ha encendido desde el principio para ampliar la funcionalidad.

Tiene sentido si se reforma radicalmente el código de los impuestos. Y probablemente lo sea (ya que hay mucha funcionalidad nueva que ejecutar).


En general, sería muy bueno obtener una compilación actualizada con una lista de cambios y errores corregidos. Tendremos que arrastrarnos menos al estudiar el nuevo МТ4.

Lo sería. Sería en una situación ideal. Siendo realistas, requiere muchos recursos. Para recoger todos los cambios en una lista... con diferentes personas trabajando en diferentes módulos...

Por cierto, tienes un error. El operador new no devuelve un puntero a la memoria asignada como en C++. Hazlo así:

No, ahí no hay ningún error, el puntero está declarado por encima del código (sólo he enviado un fragmento). Gracias por intentar ayudar.
 
MetaDriver:
Tiene sentido si se reforma radicalmente el código de los impuestos. Y probablemente lo sea (ya que hay un montón de nuevas funcionalidades por lanzar).

Lo es. Lo ideal sería. Siendo realistas, requiere bastantes recursos. Poner todos los cambios en una lista... con diferentes personas trabajando en diferentes módulos...

No, ahí no hay ningún error, el puntero está declarado por encima del código (sólo he enviado un fragmento). Gracias por intentar ayudar.

Que el puntero se declare por encima del código está claro, aunque no del todo :) de todas formas he ejecutado tu código con mis correcciones, mis dos variantes funcionan. Por cierto, sigo sin entender en qué se guiaron los desarrolladores para cambiar el funcionamiento del operador new, a diferencia de C++. No entiendo por qué es mejor un puntero a un handle que un puntero a una dirección en memoria.
Razón de la queja: