2015-07-19 3 views
0

У меня есть TreeView на форме и кнопка, которая очищает элементы и добавляет новые элементы в
Если есть достаточно предметов, чтобы выйти с экрана, чтобы у вас было прокрутить, чтобы просмотреть их все, во второй раз я нажимаю кнопку «Я получаю ошибку« Недопустимый диапазон »
Если форма достаточно большая, чтобы соответствовать всем элементам, она, кажется, счастлива
Если я выберу tv1.BeginUpdate и tv1.EndUpdate это иногда работает, но до сих пор получить аргумент из ошибки диапазона случайноDelphi Firemonkey Xe 8 TreeView Аргумент вне диапазона на TreeViewItem.EndUpdate

procedure TfrmMain.btn1Click(Sender: TObject); 
var i : Integer; 
begin 
    tv1.Clear; 
    tv1.BeginUpdate; 
    try 
    for I := 0 to 10 do begin 
     with TTreeViewItem.Create(tv1) do begin 
     Parent := tv1; 
     Text := inttostr(i); 
     end; 
    end; 
    finally 
    tv1.EndUpdate; 
    end; 
end; 

Вот пример проекта
https://github.com/dangas56/Delphi-XE8-TreeNode-ArgumentOutOfRange-Error
Не забудьте нажать основную кнопку заливки дважды

EDIT: Если кто-то может предложить другой компонент, который позволяет развернуть и свернуть подпункты, пожалуйста, дайте мне знать

ответ

0

Я пытаюсь исследовать, и ваш код кажется ОК. Я думаю, проблема связана с файлом FMX.Controls. Я пытаюсь изменить и изменить его, но, похоже, ему нужно больше расследовать. Советую объявить ошибку для embarcadero. (это зависит от размера экрана, и ошибка появляется в команде EndUpdate)

+0

Ive добавила проблему в QC [https://quality.embarcadero.com/browse/RSP-11502](https://quality.embarcadero.com/browse/RSP-11502). Не задерживая дыхание, которое плохо услышать что-нибудь назад – Dangas56

+0

Вы пытались обратиться в службу поддержки? напрямую? –

+0

Я не знал, что вы могли. вы бы назвали их напрямую? [http://support.embarcadero.com/contact](http://support.embarcadero.com/contact) или каким-либо другим способом? – Dangas56

0

У меня была та же проблема. Вам нужно поставить tv1.Clear после tv1.BeginUpdate (т.е. как первая строка внутри Try ... Наконец).

Смежные вопросы