MetaTrader 4 Build 529 beta lançado com novo compilador - página 51

 
Barbarian:

Você já tentou outras classes? Eles não funcionam tão bem?

Já olhei para algumas delas, mas não todas. Eu as experimentei conforme necessário (escrevendo um programa). às vezes eu coloco fichas (onde não funciona), até que a hora é certa.

Olhei para a classe Canvas, e os métodos de classe utilizam as funções da MQL5. Esta é, muito provavelmente, a razão do problema. Por exemplo, método?

utiliza TextSetFont da MQL5, que provavelmente ainda não foi implementada na MQL4. Entretanto, ela já está presente nas Descrições de Ajuda. Talvez tenham esquecido de implementá-la.

A propósito, os desenvolvedores realmente fizeram um ótimo trabalho com destaque de sintaxe no editor. É muito útil distinguir os métodos de classe das funções do idioma.

Estou ciente disso. Tudo já funcionou lá há 5-6 anos, incluindo TextSetFont() por exemplo, este código funcionou bem:

    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();

apenas mais tarde incapacitado // espero que temporariamente :)

quando funcionava - funcionava com base em especificações.

 
MetaDriver:
Já olhei para algumas delas, mas não todas. Eu as experimentei conforme necessário (estou escrevendo um programa). às vezes eu coloco fichas (onde não funciona), até que as coisas estejam melhores.

Estou ciente disso. tudo já funcionou lá 5-6 builds atrás, incluindo TextSetFont() e.g. este código funcionou bem:

foi apenas desativado mais tarde // espero que temporariamente :)

quando funcionava - funcionava de acordo com as especificações.

É muito estranho então. Não faz sentido desativá-la se ela foi habilitada desde o início para ampliar a funcionalidade. Em geral, seria bom ter uma compilação atualizada com uma lista de mudanças e bugs corrigidos. Teremos mais problemas com a análise do novo МТ4.

A propósito, há um erro. O novo operador não devolve um ponteiro à memória alocada, como em C++. Faça-o assim:

    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();

ou assim:

    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;

e vai funcionar. Leia https://www.mql5.com/ru/docs/basis/types/object_pointers. Eu também tropecei no início, tendo esquecido o C++.

 
artmedia70:


Eu tenho meu apelido e senha na aba Comunidade de minhas configurações. Eu seleciono o arquivo necessário no Editor Navigator, depois seleciono MQL5 Storage --> Add, e o nome do arquivo no Navigator é marcado com "+" azul. Parece ser adicionado. Mesmo aqueles arquivos que foram adicionados anteriormente, mas que foram alterados depois, são marcados com "!" em um círculo vermelho. Parece haver uma diferença. Mas não consigo encontrar nenhum arquivo adicional no próprio repositório:

O que está errado?


Sim, funciona (armazenamento), não necessariamente 100% (pode não ter descoberto ainda sobre salvar versões), mas funciona.

Basta clicar sobre a elipse ... - Tenho esta pasta inicial com 2 pastas nela(projeto e pessoal).

 
ALXIMIKS:


Sim, funciona (armazenamento), não 100% (talvez eu ainda não tenha percebido em relação à economia de versões), mas funciona.

Basta clicar sobre a elipse ... - Tenho uma pasta inicial com 2 pastas nela (projeto e pessoal).

Claro que clicado. Voltando ao nível anterior.
 
artmedia70:
É claro que sim. Indo para o nível anterior.


Seus arquivos adicionados têm um círculo verde com um tique?

você deve primeiro adicionar via MQL Storeg ==> adicionar, e depois clicar no arquivo ou pasta para se comprometer via PCM ==> comprometer.

 
ALXIMIKS:


você vê um círculo verde com um tique nos arquivos adicionados?

você deve primeiro adicionar via MQL Storeg ==> adicionar, e depois clicar no arquivo ou pasta para se comprometer via PCM ==> comprometer.

Obrigado, vou tentar. Não foi assim que se fez.
 
ALXIMIKS:


você vê um círculo verde com um tique nos arquivos adicionados?

você deve primeiro adicionar via MQL Storeg ==> adicionar, e depois clicar no arquivo ou pasta para se comprometer via PCM ==> comprometer.

Exatamente, você está certo. Ajudou;)
 
Barbarian:

A propósito, os desenvolvedores fizeram um grande trabalho em termos de destaque de sintaxe no editor.

Sim, eu gosto muito do esquema de cores. Eu quero o mesmo no estúdio :-)
 
Barbarian:

É muito estranho então. Por que desligá-lo se ele foi ligado desde o início para ampliar a funcionalidade.

Faz sentido se o código dos gráficos estiver sendo radicalmente reformado. E provavelmente é (já que há muitas funcionalidades novas para executar).


Em geral, seria muito bom ter uma compilação atualizada com uma lista de mudanças e bugs corrigidos. Teremos menos rastejamentos sobre o estudo do novo МТ4.

Seria. Estaria em uma situação ideal. Realisticamente, é bastante intensivo em termos de recursos. Para recolher todas as mudanças em uma única lista... com diferentes pessoas trabalhando em diferentes módulos...

A propósito, você tem um erro. O novo operador não devolve um ponteiro à memória alocada, como em C++. Faça-o assim:

Não, não há erro ali, o ponteiro é declarado acima do código (eu só enviei um fragmento). Obrigado por tentar ajudar.
 
MetaDriver:
Faz sentido se o código dos gráficos está sendo radicalmente reformado. E provavelmente é (já que há muitas novas funcionalidades a serem lançadas).

E é. O ideal. Realisticamente, é bastante intensiva em recursos. Colocando todas as mudanças em uma única lista... com diferentes pessoas trabalhando em diferentes módulos...

Não, não há erro ali, o ponteiro é declarado acima do código (eu só enviei um fragmento). Obrigado por tentar ajudar.

Que o ponteiro é declarado acima do código é claro, embora não exatamente :) de qualquer forma, eu executei seu código com minhas correções, ambas as minhas variantes funcionam. A propósito, eu ainda não entendo o que os desenvolvedores foram guiados quando mudaram a forma de funcionamento do novo operador, ao contrário do C++. Não entendo porque um ponteiro para um cabo é melhor do que um ponteiro para um endereço na memória.