Автор Тема: AddinLT_Category_GetChildUID  (Прочитано 4473 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Konst

  • Новичок
  • *
  • Сообщений: 22
  • Репутация +0/-0
    • Просмотр профиля
AddinLT_Category_GetChildUID
« : 30 Ноября 2010, 13:07:56 »
При вызове функции AddinLT_Category_GetChildUID("root", 1..n) - возвращает 2 раза одинаковый UID.
При следующем вызове возвращает нормально без повторений.
« Последнее редактирование: 30 Ноября 2010, 13:10:22 от Konst »

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #1 : 30 Ноября 2010, 13:19:00 »
Не понял

Оффлайн Hush

  • Плагинописатель
  • Способный
  • ***
  • Сообщений: 100
  • Репутация +21/-0
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #2 : 30 Ноября 2010, 18:54:23 »
Наверно проблема потому что не 1..n, а 0..n-1 надо

Оффлайн Konst

  • Новичок
  • *
  • Сообщений: 22
  • Репутация +0/-0
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #3 : 01 Декабря 2010, 08:35:40 »
итерация от 0 до n-1
Версия 6.9.8

Сначала так:
241422ED-233E-4833-B9CB-41A925C39B03
32E1D0D9-1639-4FE5-B083-EF4EE4461EE9
D7286856-4A63-48FA-975C-9F2F12026B6F
241422ED-233E-4833-B9CB-41A925C39B03
20C603F9-197A-4F04-B72F-4C9173CB351B
8DD2C8A4-E62D-4C8E-8ECB-4437C4FC397A
C14C949A-6F64-4DCB-8C08-B0DECC2AF56D
A42BE055-EBA1-41C0-A8A8-3141237F2F82


Потом так:
C0786220-A6E9-4750-B169-D3F4F2A254A8
32E1D0D9-1639-4FE5-B083-EF4EE4461EE9
D7286856-4A63-48FA-975C-9F2F12026B6F
241422ED-233E-4833-B9CB-41A925C39B03
20C603F9-197A-4F04-B72F-4C9173CB351B
8DD2C8A4-E62D-4C8E-8ECB-4437C4FC397A
C14C949A-6F64-4DCB-8C08-B0DECC2AF56D
A42BE055-EBA1-41C0-A8A8-3141237F2F82

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #4 : 01 Декабря 2010, 12:59:10 »
Для категорий, проектов, контактов первый элемент в root не является действительным, он темповый

Оффлайн Konst

  • Новичок
  • *
  • Сообщений: 22
  • Репутация +0/-0
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #5 : 02 Декабря 2010, 06:06:39 »
Первый раз, в 1ой строке UID из 4 строки:

индекс UID
0""
1241422ED-233E-4833-B9CB-41A925C39B03
232E1D0D9-1639-4FE5-B083-EF4EE4461EE9
3D7286856-4A63-48FA-975C-9F2F12026B6F
4241422ED-233E-4833-B9CB-41A925C39B03
520C603F9-197A-4F04-B72F-4C9173CB351B
68DD2C8A4-E62D-4C8E-8ECB-4437C4FC397A
7C14C949A-6F64-4DCB-8C08-B0DECC2AF56D
8A42BE055-EBA1-41C0-A8A8-3141237F2F82

Второй раз, все нормально:

индекс UID
0""
1C0786220-A6E9-4750-B169-D3F4F2A254A8
232E1D0D9-1639-4FE5-B083-EF4EE4461EE9
3D7286856-4A63-48FA-975C-9F2F12026B6F
4241422ED-233E-4833-B9CB-41A925C39B03
520C603F9-197A-4F04-B72F-4C9173CB351B
68DD2C8A4-E62D-4C8E-8ECB-4437C4FC397A
7C14C949A-6F64-4DCB-8C08-B0DECC2AF56D
8A42BE055-EBA1-41C0-A8A8-3141237F2F82

Оффлайн Konst

  • Новичок
  • *
  • Сообщений: 22
  • Репутация +0/-0
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #6 : 02 Декабря 2010, 09:03:57 »
Создаем категорию "Напоминалки". Делаем ее первой в навигаторе. Выходим из LeaderTask. Запускаем LeaderTask. Опрашиваем AddinLT_Category_GetChildUID("root", ..). Получаем:

Цели на месяц-1E6DD9AE-E208-48B2-8E0D-187B36BDE692
Цели на месяц-1E6DD9AE-E208-48B2-8E0D-187B36BDE692

Еще раз опрашиваем AddinLT_Category_GetChildUID("root", ..). Получаем:

Напоминалки-7B57C269-B7A0-40E7-ADE3-0867BA308160
Цели на месяц-1E6DD9AE-E208-48B2-8E0D-187B36BDE692

Оффлайн Дмитрий Маслов

  • Администратор
  • Маэстро
  • *****
  • Сообщений: 6146
  • Репутация +220/-19
  • Я делаю мир таким!
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #7 : 02 Декабря 2010, 13:56:03 »
К сожалению не могу повторить описанной ситуации, скорее всего:
1. либо происходит какое-то еще изменение после того как вы получаете ChildUID,
2. либо вы не сохраняете возвращаемое значение, а только указатель на него (он действителен только до вызова любой другой функции плагинов)
3. Вызов функции AddinLT_Category_GetOrder может поменять порядок детей
Сама по себе функция AddinLT_Category_GetChildUID не меняет никаких внутренних данных в LeaderTask, по этому если не было никаких изменений то дважды запущенная функция не возвращает разных значений.

Оффлайн Konst

  • Новичок
  • *
  • Сообщений: 22
  • Репутация +0/-0
    • Просмотр профиля
Re: AddinLT_Category_GetChildUID
« Ответ #8 : 03 Декабря 2010, 08:28:39 »
Да.
Если при вызове AddinLT_Category_GetChildUID вызывается еще AddinLT_Category_GetOrder и как доп условие (у меня) есть категория стоящая в начале "Напоминалки"
ТО
действительно меняется порядок :(

Спасибо :)
« Последнее редактирование: 03 Декабря 2010, 08:56:51 от Konst »