|
|
#1
|
|||
|
|||
Потоки
Извиняюсь если не там тему создал.
Делаю подобие vk клиента, и там есть функции: procedure RefreshMySmallProfile; procedure ShowFriends(online:boolean) procedure SetStatus(text:string); Хочу выполнять эти функции в отдельном потоке. Но вопрос как передать в поток функции, хотелось бы что-то на подобие этого: Thread.Create(ShowFriends(true)); Каким образом можно это реализовать? П.С. На форме есть СкроллБокс, на нем лежит Image с фоном, поверх скроллбокса создаются панели FriendBox(TPanel) по кл-ву друзей, на нем там еще label с именем и т.п. В итоге пока грузится список друзей, стираются старые panel, рисуются новые, а их около 100, Мы имеем белый фон, Хотелось бы вытащить Image поверх белого фона, и нарисовать на нем: "идет загрузка" и т.п., Каким образом можно вытащить Image поверх, BringToFront не помогает, вот думаю может на канве рисовать или не получится, у кого-нибуть есть соображения. Буду очень признателен за помощь. |
#2
|
|||
|
|||
По поводу потоков. А что, сделать 3 типа потока (по потоку для каждой функции) и запускать нужное кол-во потоков нельзя? Каждый поток - это отдельный объект. Так что никаких проблем быть не должно. Ну и не забываем про синхронизацию.
По поводу картинок ничего не понял... |
#3
|
||||
|
||||
я передаю переменные в поток, например число
а там уже Код:
case nomer of 1: 2: 3: ... |
#4
|
|||
|
|||
поток для кажой функции не пойдет, так как этих функций щас 3, в итогеих будет пару десятков минимум, просто мне нужно чтобы это же функция выполнилась в потоке, а не тормозила работу с формой, насчет картинок, завтра скрины выложу, чтоб понятней было
|
#5
|
|||
|
|||
Решил на данный момент разработки отказаться от потока, всеравно секундную загрузки списка друзей пользователь в состоянии подождать.
Далее по картинкам, на этапе разработки это выглядит так: Тут видно что по серединке лежит 3 image 'а, по серединке тот который мне нужен, лежит он на scrollBox, далее на на скроле я создаю панельки с друзьями и т.п., вот как это вглядит: в ок, но во время прорисовки, несколько секунд создается такая фигня: Видите, белый фон, а мне бы хотелось на время прорисовки поднять картинку поверх, тоесть загородить белую фигню, в идеале бы в начале процедуры прорисовки написать Image1.BringToFront; а в конце Image1.SendToBack; Но это к сожалению не проходит(( а на месте белой фигни у меня должен быть мой фон и значок загрузки. |
#6
|
|||
|
|||
Проблема решена, тему можно закрывать...
|