Перейти к содержанию
Fire Monkey от А до Я
  • 0

TAddressBook, Контакты и скорость


Indonesia

Вопрос

Всем привет!

Уважаемые коллеги, помогите пожалуйста. Получаю список контактов с помощью TAddressBook, но скорость оставляет желать лучшего.

Даже загоняя в массив, а не в Listbox данные таким образом, только добавление номеров занимает около 30 секунд для 500 контактов.

Каждое дополнительное обращение например к Contacts.Items.FirstName или другим полям добавляет соразмерно времени на обработку.

Может быть есть возможность выгрузить всю коллекцию в массив и обрабатывать более быстро? То, что получается сейчас, просто непозволительно долго для внимания пользователя.

Contacts := TAddressBookContacts.Create;
form1.AddressBook1.AllContacts(form1.AddressBook1.DefaultSource, Contacts);

SetLength(ImpContList,Contacts.Count,8);

for I := 0 to Contacts.Count - 1 do
begin
    if Contacts.Items[I].Phones.Count > 0 then
    ImpContList[i][0]:=Contacts.Items[I].Phones.Items[0].Number;
end;

 

Изменено пользователем Indonesia
Ссылка на комментарий

Рекомендуемые сообщения

Ответов пока нет

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...