Quando uso o CTreeView para MQL5 com ShowItemContent(false), ele apresenta um erro de parada: array out of range em 'TreeView.mqh' (1725,22). Isso ocorre na função "void CTreeView::UpdateContentList(void)". Se ShowItemContent(false), o conteúdo do item não é criado durante a inicialização, mas m_content_items[li].Update(true) é usado Update(true) é usado sem verificar o sinalizador m_show_item_content. Em seguida, modifiquei o código da função "void CTreeView::UpdateContentList(void)" conforme abaixo.
//+------------------------------------------------------------------+//| Обновляет список содержания |Продукция//+------------------------------------------------------------------+void CTreeView::UpdateContentList(void)
{
//--- Sair se (1) o conteúdo não precisar ser exibido ou (2) o modo Label estiver ativado.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);
}
}
Em seguida, modifiquei o código da função "void CTreeView::UpdateContentList(void)" conforme abaixo: Estou certo? E você pode confirmar isso?
Quando uso o CTreeView para MQL5 com ShowItemContent(false), ele apresenta um erro de parada: array out of range em 'TreeView.mqh' (1725,22). Isso ocorre na função "void CTreeView::UpdateContentList(void)". Se ShowItemContent(false), o conteúdo do item não é criado durante a inicialização, mas m_content_items[li].Update(true) é usado sem verificar o sinalizador m_show_item_content. Em seguida, modifiquei o código da função "void CTreeView::UpdateContentList(void)" conforme abaixo:
//+------------------------------------------------------------------+//| Обновляет список содержания|//+------------------------------------------------------------------+void CTreeView::UpdateContentList(void)
{//--- Sair se (1) o conteúdo não precisar ser exibido ou (2) o modo Label estiver ativadoif(!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);
}
}
Estou certo? E você pode confirmar isso? Muito obrigado!
Fiz o download da biblioteca em https://www.mql5.com/zh/code/19703. Quando uso o CTextEdit para exibir texto somente para leitura, o scrollV e o scollH não aparecem quando há muitas palavras a mais. Alguém também tem esse problema? Obrigado.
Após a atualização de 4 de outubro, a biblioteca está retornando os avisos em muitos lugares:
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Scrolls.mqh 625 15 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL TextBox.mqh 1845 14 " "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL WndEvents.mqh 298 36 "
tudo ainda está funcionando perfeitamente, mas esses avisos são muito assustadores :) ... alguém pode ajudar a resolver esse problema ou pode explicar o que esse aviso significa ... o que é método oculto?)
Após a atualização de 4 de outubro, a biblioteca está devolvendo os avisos a muitos lugares:
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Scrolls.mqh 625 15 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL TextBox.mqh 1845 14 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL WndEvents.mqh 298 36 "
Ainda assim, tudo está funcionando perfeitamente, mas esses avisos são muito assustadores :) ... alguém pode ajudar a resolver esse problema ou pode explicar o que esse aviso significa ... o que é método oculto?)
Olá... obrigado pela resposta... eu não me consideraria um iniciante, mas estou longe de ser um profissional :)
Com relação à sua resposta ....exemplo do arquivo Element.mqh ...
do registro de erros :
comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26
e depois de clicar duas vezes, sou direcionado para o código abaixo, e a localização do cursor é comentada como [cursor]
void CElement::IsLocked(constbool 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()) // <<<<< erro está apontando para essa linha, e ainda não consegui descobrir o que é o "método oculto"// if(state != m_main.[cursor]IsLocked()) // localização do cursor
{
::EventChartCustom(m_chart_id,ON_SET_LOCKED,CElementBase::Id(),(int)state,"");
//--- Отправим сообщение об изменении в графическом интерфейсе
::EventChartCustom(m_chart_id,ON_CHANGE_GUI,CElementBase::Id(),0.0,"");
}
}
}
Se você puder explicar como corrigir esse problema, poderei fazer o resto :) (ou me indicar qual é o "método oculto")... Mais uma vez, obrigado
Em seguida, modifiquei o código da função "void CTreeView::UpdateContentList(void)" conforme abaixo: Estou certo? E você pode confirmar isso?
Após a atualização de 4 de outubro, a biblioteca está retornando os avisos em muitos lugares:
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Scrolls.mqh 625 15 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL TextBox.mqh 1845 14 " "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL WndEvents.mqh 298 36 "
tudo ainda está funcionando perfeitamente, mas esses avisos são muito assustadores :) ... alguém pode ajudar a resolver esse problema ou pode explicar o que esse aviso significa ... o que é método oculto?)
Saudações
Após a atualização de 4 de outubro, a biblioteca está devolvendo os avisos a muitos lugares:
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Scrolls.mqh 625 15 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL TextBox.mqh 1845 14 "
" comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL WndEvents.mqh 298 36 "
Ainda assim, tudo está funcionando perfeitamente, mas esses avisos são muito assustadores :) ... alguém pode ajudar a resolver esse problema ou pode explicar o que esse aviso significa ... o que é método oculto?)
Saudações
CElement::Update(true)
CElementBase::IsLocked()
CElementBase:: IsVisible()
CElementBase:: IsAvailable()
CElement::Update(true)
CElementBase::IsLocked()
CElementBase:: IsVisible()
CElementBase:: IsAvailable()
Olá... obrigado pela resposta... eu não me consideraria um iniciante, mas estou longe de ser um profissional :)
Com relação à sua resposta ....exemplo do arquivo Element.mqh ...
do registro de erros :
comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL Element.mqh 379 26
e depois de clicar duas vezes, sou direcionado para o código abaixo, e a localização do cursor é comentada como [cursor]
Se você puder explicar como corrigir esse problema, poderei fazer o resto :) (ou me indicar qual é o "método oculto")... Mais uma vez, obrigado
CElement::Update(true)
CElementBase::IsLocked()
CElementBase:: IsVisible()
CElementBase:: IsAvailable()
Comportamento obsoleto, a chamada de método oculto será desativada em uma versão futura do compilador MQL WndEvents.mqh 1761 53
Finlay, isso fez um clique em minha cabeça :) ... tudo está bem agora ... Mais uma vez, obrigado e cumprimentos
Não entendi. O que fazer?