Вверх ↑
Ответов: 2202
Рейтинг: 675
#1: 2015-07-09 11:12:36 ЛС | профиль | цитата
Tad писал(а):
И где это массив перебирается два раза?
Нет там массива. Есть MT-строка.
Объясню подробней:
1. Вы запрашиваете у MST_CheckBoxes с AllCheck МТ-строку содержащую индексы выделенных флажков.
2. MST_CheckBoxes перебирает массив for i := 0 to sControl.Count - 1 do и выдает вам МТ-строку.
3. Вы проверяете эту МТ-строку и обнаружев что хотябы один флажек включен, сново запрашиваете с AllCheck МТ-строку.
4. MST_CheckBoxes сново перебирает массив for i := 0 to sControl.Count - 1 do и выдает туже самую МТ-строку для её перебора.
Вот и зачем нужно два раза запрашивать МТ-строку, если можно проще:
Запросить МТ-строку и если она не пустая, отдать её на перебор. Без второго запроса.
Tad писал(а):
А заодно объясни зачем там DoData ?
А DoData запускает МТ-строку в поток, чтоб с ней поочередно мог работать компоненты If_Else и потом если не Null, то эта МТ-строка дойдет и до МТ-Enum.
карма: 11

0