ライブラリ: EasyAndFastGUIグラフィックインターフェース作成ライブラリ - ページ 19

 
CTreeView for MQL5をShowItemContent(false)で使用すると、'TreeView.mqh'(1725,22)でstop error: array out of rangeが 発生します。 これは関数 "void CTreeView::UpdateContentList(void) "内です。 ShowItemContent(false)の場合、初期化時にアイテムの内容は作成されず、m_content_items[li].Update(true)が使用される。Update(true)は、m_show_item_contentフラグをチェックせずに使用する。 そこで、関数 "void CTreeView::UpdateContentList(void) "のコードを以下のように修正した。
//+------------------------------------------------------------------+
| Обновляет список содержания|Продукция。
//+------------------------------------------------------------------+
void CTreeView::UpdateContentList(void)
  {
//--- (1)コンテンツを表示する必要がない場合、または(2)ラベルモードが有効な場合は、終了する。
   if(!m_show_item_content || m_tab_items_mode)
      return;
//---
   int items_total=::ArraySize(m_cd_list_index);
   for(int i=0; i<items_total; i++)
     {
      //--- Получим общий индекс пункта в списке
      int li=m_cd_list_index[i];
      //--- Обновим
      m_content_items[li].Update(true);
     }
  }


そして、"void CTreeView::UpdateContentList(void) "関数のコードを以下のように修正しました。 正しいですか? また、確認していただけますか?
 
CTreeView for MQL5をShowItemContent(false)で使用すると、'TreeView.mqh'(1725,22)でstop error:array out of rangeが 発生します。これは関数 "void CTreeView::UpdateContentList(void) "内です。ShowItemContent(false)の場合、初期化時にアイテムの内容は作成されず、m_show_item_contentフラグをチェックせずにm_content_items[li].Update(true)が使われる。そこで、関数 "void CTreeView::UpdateContentList(void) "のコードを以下のように修正しました:
//+------------------------------------------------------------------+
| Обновляет список содержания|
//+------------------------------------------------------------------+
void CTreeView::UpdateContentList(void)
  {
//--- (1) コンテンツを表示する必要がないか、(2) ラベルモードが有効な場合に終了する。
   if(!m_show_item_content || m_tab_items_mode)
      return;
//---
   int items_total=::ArraySize(m_cd_list_index);
   for(int i=0; i<items_total; i++)
     {
      //--- Получим общий индекс пункта в списке
      int li=m_cd_list_index[i];
      //--- Обновим
      m_content_items[li].Update(true);
     }
  }
正しいですか?ご確認いただけますか?ありがとうございました!
 
https://www.mql5.com/zh/code/19703 からライブラリをダウンロードしました。CTextEditを使って読み上げ専用テキストを表示すると、文字数が多くなるとscrollVやscollHが表示されません。どなたかこの問題をお持ちの方はいらっしゃいますか?ありがとうございます。
用于创建图形界面的 EasyAndFastGUI 开发库
用于创建图形界面的 EasyAndFastGUI 开发库
  • www.mql5.com
EasyAndFastGUI 开发库可以为自定义 MQL 程序创建图形界面。
 

10月4日のアップデート後、ライブラリーは多くの場所で警告を返すようになった:

" 非推奨の動作、非表示のメソッド呼び出しは将来の MQL コンパイラー・バージョンで無効になります Element.mqh 379 26 "

" 非推奨の動作、非表示メソッド呼び出しは将来の MQL コンパイラーバージョンで無効になります Scrolls.mqh 625 15 "

「非推奨の動作、非表示メソッド呼び出しは将来の MQL コンパイラーバージョンで無効になる TextBox.mqh 1845 14 "

" 非推奨の動作、非表示メソッド呼び出しは将来の MQL コンパイラーバージョンで無効になります WndEvents.mqh 298 36 "


どなたかこの問題を解決する方法を教えてくださる方、またはこの警告が意味することを説明してくださる方はいらっしゃいませんか?)

よろしくお願いします。

 
Q: STechtEditフィールドから選択したテキストを コピーする方法はありますか?
 
Marcin Rutkowski:

10月4日の更新後、図書館は多くの場所で警告を返している:

" 非推奨の動作、隠しメソッド呼び出しは将来のMQLコンパイラー・バージョンで無効になります Element.mqh 379 26 "

" 非推奨の動作、非表示メソッド呼び出しは将来の MQL コンパイラーバージョンで無効になります Scrolls.mqh 625 15 "

「非推奨の動作、将来の MQL コンパイラーバージョンでは非表示のメソッド呼び出しは無効になる TextBox.mqh 1845 14 "

" 非推奨の動作、将来の MQL コンパイラーバージョンで非表示メソッド呼び出しが無効になる予定 WndEvents.mqh 298 36 "


どなたかこの問題を解決する方法を教えてくださる方、またはこの警告が意味することを説明してくださる方はいらっしゃいませんか?)

よろしくお願いします。



CElement::Update(true)

CElementBase::IsLocked()

CElementBase:: IsVisible()

CElementBase:: IsAvailable()

 
Mikhail Sergeev:



CElement::Update(true)

CElementBase::IsLocked()

CElementBase:: IsVisible()

CElementBase:: IsAvailable()

こんにちは...返信ありがとうございます...私は自分を初心者とは呼びませんが、プロには程遠いです :)

Element.mqhの例です。

エラーログから.

非推奨の動作、隠しメソッド呼び出しは将来のMQLコンパイラーバージョンで無効になります Element.mqh 379 26


と表示され、ダブルクリックすると下のコードが表示され、カーソルの位置が[cursor]とコメントされています。


void CElement::IsLocked(const bool state)
  {
//--- Выйти, если уже установлено
   if(state==CElementBase::IsLocked())
      return;
//--- Сохранить состояние
   CElementBase::IsLocked(state);
//--- Остальные элементы
   int elements_total=ElementsTotal();
   for(int i=0; i<elements_total; i++)
      m_elements[i].IsLocked(state);
//--- Проверка указателя
   if(::CheckPointer(m_main)==POINTER_INVALID)
      return;
//--- Событие отправляет только главный элемент составной группы.
   if(this.Id()!=m_main.Id())
     {
      ::EventChartCustom(m_chart_id,ON_SET_LOCKED,CElementBase::Id(),(int)state,"");
      //--- Отправим сообщение об изменении в графическом интерфейсе
      ::EventChartCustom(m_chart_id,ON_CHANGE_GUI,CElementBase::Id(),0.0,"");
     }
   else
     {
      if(state != m_main.IsLocked())                                                        // <<<< エラーはこの行を指している。
// if(state != m_main.[カーソル]IsLocked()) // カーソルの位置 
       {
         ::EventChartCustom(m_chart_id,ON_SET_LOCKED,CElementBase::Id(),(int)state,"");
         //--- Отправим сообщение об изменении в графическом интерфейсе
         ::EventChartCustom(m_chart_id,ON_CHANGE_GUI,CElementBase::Id(),0.0,"");
        }
     }
  }

もしこれを修正する方法を説明していただければ、残りを行うことができます :) (または、「隠しメソッド」が何であるかを教えてください) ...ありがとうございました。

 
Mikhail Sergeev:



CElement::Update(true)

CElementBase::IsLocked()

CElementBase:: IsVisible()

CElementBase:: IsAvailable()

Finlay it clicked in my head :) ...all is good now ...Thank you again and Regards.
 

非推奨の動作であり、非表示メソッド呼び出しは将来の MQL コンパイラー・バージョンで無効になる予定 WndEvents.mqh 1761 53

 
Marcin Rutkowski:
フィンレイ、僕の頭の中でピンときたよ。
こんにちは、
。どうすればいい?