Ошибки, баги, вопросы - страница 1370

 

Вот код

#property strict
#include <Canvas/Canvas.mqh> CCanvas canvas;
void OnTick()
  {
   string ObjName="test";
   ObjectDelete(0,ObjName);
   if(ObjectFind(0,ObjName)==-1)
     {
      canvas.CreateBitmapLabel(ObjName,100,100,150,150,COLOR_FORMAT_ARGB_NORMALIZE);
      canvas.Erase(ColorToARGB(clrNONE,0));
      canvas.FontSet("Verdana",22);
      canvas.TextOut(10,10,"EURUSD",ColorToARGB(clrBlue,255));
     }
   uchar z=255;

   while(z>0)
     {
      canvas.TransparentLevelSet(z);
      canvas.Update(true);
      z-=5;
      Sleep(50);
     }
  }

Хочу сделать полупрозрачный текст, но код уперто рисует текст и квадрат, в коде идет плавное изменение цвета...

Квадрат при canvas.Erase(ColorToARGB(clrNONE,0)); белый при canvas.Erase(0); черный....

Что я делаю не так или как сделать полупрозрачный текст без квадратов....

 
Vladimir Pastushak:

Вот код

Хочу сделать полупрозрачный текст, но код уперто рисует текст и квадрат, в коде идет плавное изменение цвета...

Квадрат при canvas.Erase(ColorToARGB(clrNONE,0)); белый при canvas.Erase(0); черный....

Что я делаю не так или как сделать полупрозрачный текст без квадратов....

Зачем Вы всё время меняете прозрачность?

#property strict #include <Canvas/Canvas.mqh> CCanvas canvas; void OnTick()   {    string ObjName="test";    ObjectDelete(0,ObjName);    if(ObjectFind(0,ObjName)==-1)      {       canvas.CreateBitmapLabel(ObjName,100,100,150,150,COLOR_FORMAT_ARGB_NORMALIZE);       canvas.Erase(ColorToARGB(clrNONE,0));       canvas.FontSet("Verdana",22,FW_BOLD);       canvas.TextOut(10,10,"EURUSD",ColorToARGB(clrBlue,160));

canvas.Update();      }    /*uchar z=255;    while(z>0)      {       canvas.TransparentLevelSet(z);       canvas.Update(true);       z-=5;       Sleep(50);      }*/   }

 
Alexey Navoykov:
Хотелось бы узнать насчёт перспективы введения property (как член класса).  Недавно задавал такой вопрос, но комментариев от разработчиков не было.  Планируется ли это,  либо мне стоит сделать опрос на форуме по поводу востребованности этой фичи?
Опрос сделать надо, я за. Но чтобы проперти были как современные у C#, а не в ранних формах (вроде после 2-й версии нормальные сделали?)
[Удален]  
Alexey Volchanskiy:
Опрос сделать надо, я за. Но чтобы проперти были как современные у C#, а не в ранних формах (вроде после 2-й версии нормальные сделали?)

Не думаю, что это нужно вводить в данном языке, т.к. это только увеличит количество ошибок которые искоренять будут не один год.

Лучше бы реализовали нормальный механизм расширенной авторизации для Linux, а то если сервер использует расширенный механизм авторизации, то под Wine невозможно законнектиться к серверу.

 

Почему нельзя получить доступ из статического метода к статической переменной:

class CLog
{
private:
   static int a;
public:
   static void A()
   {
      a = 3;
   }
};

 Сообщение компилятора:

unresolved static variable 'CLog::a'    Logs.mqh        22      7
 
Vasiliy Sokolov:

Почему нельзя получить доступ из статического метода к статической переменной:

Попробуйте разместить статическую переменную:

class CLog
{
private:
   static int a;
public:
   static void A()
   {
      a = 3;
   }
};
int CLog::a;
 
Artem Temnikov:

Попробуйте разместить статическую переменную:

Помогло! Спасибо.
[Удален]  

Уважаемые разработчики!

ОС Linux Mint 17.1, терминал ставил под Wine 1.7.35 (МetaEditor 1154). Не открывается справка по F1, так же невозможно открыть справку через меню -> справка. Что в Wine покрутить, что бы справка открывалась по F1 ?

[Удален]  

Уважаемые разработчики, не проходите мимо :)

Торговая платформа MetaTrader 4. Процесс оптимизации советников это прогон советника с разными параметрами, которые указаны во входных параметрах советника (input, sinput или extern). Меня интересует следующее, при каждой итерации прогона в оптимизаторе, переменные объявленные на глобальном уровне создаются по новой (обнуляются)? Или то что объявлено на глобальном уровне создается единожды и живет до окончания всего процесса оптимизации?

[Удален]  
Konstantin Karpov:

Уважаемые разработчики, не проходите мимо :)

Торговая платформа MetaTrader 4. Процесс оптимизации советников это прогон советника с разными параметрами, которые указаны во входных параметрах советника (input, sinput или extern). Меня интересует следующее, при каждой итерации прогона в оптимизаторе, переменные объявленные на глобальном уровне создаются по новой (обнуляются)? Или то что объявлено на глобальном уровне создается единожды и живет до окончания всего процесса оптимизации?

Из справки про глобальные переменные: 

Переменная, объявленная вне всех функций, помещается в глобальную область видимости. Доступ к таким переменным может осуществляться из любого места программы. Такие переменные располагаются в глобальном пуле памяти, поэтому время их жизни совпадает со временем жизни программы.

Область видимости и время жизни переменных - Документация на MQL4
  • docs.mql4.com
Область видимости и время жизни переменных - Документация на MQL4