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

 

Вот скрипт.

Создал объект. Присвоил текст.

 Узнаю сам текст и размер.

 

Почему сам текст узнаётся а размер нет? 

Файлы:
prob.mq4  1 kb
 
Vasyl Nosal:

Вот скрипт.

Создал объект. Присвоил текст.

 Узнаю сам текст и размер.

 

Почему сам текст узнаётся а размер нет? 

Только что проверил.

Даже цвет коректно возвращается.

Почему размер нет? Это что какое то табу? 

Файлы:
prob.mq4  1 kb
 
Vasyl Nosal:

Только что проверил.

Даже цвет коректно возвращается.

Почему размер нет? Это что какое то табу? 

Пока текстовая метка не отрисована, размер неизвестен. Что тут непонятного?
 
Vasyl Nosal:

Только что проверил.

Даже цвет коректно возвращается.

Почему размер нет? Это что какое то табу? 

потому что обьект не успевает отрисоваться, Вы слишком многого хотите...

string name="probe";
/////
void OnStart()
  {
   func();
   func();

   ObjectDelete(name);

  }
//+------------------------------------------------------------------+
//|                                                                  |
//+------------------------------------------------------------------+
void func()
  {
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
   ObjectSetString(0,name,OBJPROP_TEXT,name);

   Sleep(500);

   string text=ObjectGetString(0,name,OBJPROP_TEXT);

   int text_sizeX=int(ObjectGetInteger(0,name,OBJPROP_XSIZE));
   Alert(text," ",text_sizeX);

  }
//+------------------------------------------------------------------+
 

Браузер Опера 

Opera 34.0

Делайте больше в интернете

Информация о версии

Версия:34.0.2036.25 - Используется обновленная версия Opera
Канал обновлений:Stable
Система:Windows 10 64-bit (WoW64)

Идентификация браузера

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.73 Safari/537.36 OPR/34.0.2036.25

 

При вставке нового сообщения с использованием SRC  текст SRС пропадает.

При обновлении с использованием/добавлением SRС все нормально. 

 
Vladimir Pastushak:

потому что обьект не успевает отрисоваться, Вы слишком многого хотите...

Это круто.

А теперь помоги пожалуйста это реализовать в индикаторе и чтобы без тиков(на выходных) работало. 

 
Slawa:
Пока текстовая метка не отрисована, размер неизвестен. Что тут непонятного?

У вас есть решение этого вопроса в индикаторе, без тиков?

И я уже говорил. Это странно что сам текст получить можно без отрисовки а размер нет. 

 
Vasyl Nosal:

Это круто.

А теперь помоги пожалуйста это реализовать в индикаторе и чтобы без тиков(на выходных) работало. 

---

 

//+------------------------------------------------------------------+
//|                                                        proba.mq4 |
//|                        Copyright 2015, MetaQuotes Software Corp. |
//|                                             https://www.mql5.com |
//+------------------------------------------------------------------+
#property copyright "Copyright 2015, MetaQuotes Software Corp."
#property link      "https://www.mql5.com"
#property version   "1.00"
#property strict
#property indicator_chart_window

string name="probe";
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int OnInit()
  {
   EventSetTimer(1 /*переодичность в секундах*/); // 
                                                  // или
//bool  EventSetMillisecondTimer( 
//int  milliseconds      // количество миллисекунд 
//);
   ObjectCreate(0,name,OBJ_LABEL,0,0,0);
   return(INIT_SUCCEEDED);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int OnCalculate(const int rates_total,
                const int prev_calculated,
                const datetime &time[],
                const double &open[],
                const double &high[],
                const double &low[],
                const double &close[],
                const long &tick_volume[],
                const long &volume[],
                const int &spread[])
  {
   return(rates_total);
  }
//+------------------------------------------------------------------+
//| Timer function                                                   |
//+------------------------------------------------------------------+
void OnTimer()
  {
   ObjectSetString(0,name,OBJPROP_TEXT,name);
   string text=ObjectGetString(0,name,OBJPROP_TEXT);
   int text_sizeX=int(ObjectGetInteger(0,name,OBJPROP_XSIZE));
   Alert(text," ",text_sizeX);
  }
//+------------------------------------------------------------------+
void OnDeinit(const int reason)
  {
   ObjectDelete(name);
   EventKillTimer();
  }
//+------------------------------------------------------------------+
 
Vladimir Pastushak:

---

 

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

 

Почему сам текст без отрисовки можно узнать а его размер нет? 

 
Vasyl Nosal:

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

 

Почему сам текст без отрисовки можно узнать а его размер нет? 

Возможно что передаваемый текст хранится в переменной из которой мы его потом получаем, а на создание обькта текста нужно создать обьект из тысячи пикселей.

И код который я вам предоставил это просто пример реализаций запуска может быть еще несколько.  

Причина обращения: