Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с потоком. [D7, WinXP]


Страницы:   1 2 3

Xion ©   (2007-07-10 17:35:00) 

Здрасти. Есть одна проблема у меня есть поток он запускает  форму на ней стоит ProgressBar поток просто обновляет форму только вот получается когда основная форма делает цикл то форма потока зависает пока цикл не пройдот. Как сделать чтобы форма потока не зависала а постоянно обновлялась (условия основную форму не трогать) ?


Двигатель внешнего сгорания   (2007-07-19 19:14:00) [1]


> визивать буду не я а ктото другой(может даже Чукча :) )
> ето посему я хочю зделать ето по проще для того кто будет
> ето делать


У тебя есть основная ошибка, которая сведет на нет все твои усилия. И эта ошибка определена уже в первом постинге:


>  Есть одна проблема у меня есть поток он запускает  форму


Нельзя в дополнительном потоке создавать форму VCL.


Xion   (2007-07-19 17:16:00) [2]

визивать буду не я а ктото другой(может даже Чукча :) ) ето посему я хочю зделать ето по проще для того кто будет ето делать


iXT   (2007-07-19 17:05:00) [3]

> [30] Xion ©   (19.07.07 14:46)

Я не могу понять, откуда и как ты собираешься вызывать (создавать) дополнительный поток если
> я немогу трогать основной процес и точка!!!!!
=> основной поток; Хотя причем тут процесс?


Сергей М.   (2007-07-19 16:36:00) [4]


> я не уверен


Ну вот как будешь уверен, тогда и заходи - милости просим)

А без уверенности утверждениям подобного рода - грош цена)


Xion   (2007-07-19 16:34:00) [5]

ну ладно может не апдайт я не уверен что лочит окно но ето так


Сергей М.   (2007-07-19 16:32:00) [6]


> FForm.Update;


И какого лешего ты апдейтишь всю форму, если апдейта требует только "инд екатор" ?


Сергей М.   (2007-07-19 16:30:00) [7]


> update блокирует окно
>


Чавоооо ?!


Xion   (2007-07-19 16:28:00) [8]

смотри [4]

procedure TRunThread.Execute;

begin
inherited;
i := 0;
while not Terminated do begin
  Synchronize(Ext);
  Sleep(100);
end;
end;

procedure TRunThread.Ext;

begin
FForm.pbM.Position := i;
FForm.pbS.Position := 100 - i;
FForm.Update;
inc(i);
end;

но втом то и дело что update блокирует окно


Сергей М.   (2007-07-19 15:19:00) [9]


> Application.ProcessMessages; р озмораживает всю програму
> я мне надо только окно с инд екатором


У "инд екатора", вообще-то, есть св-во Update/

Равно, впрочем, как и у любой иной "беды" класса-наследника TControl.

Ну эт так, для сведения кулибиных)


Xion   (2007-07-19 15:14:00) [10]

Application.ProcessMessages; розмораживает всю програму я мне надо только окно с индекатором


Stanislav   (2007-07-19 15:08:00) [11]

А вообще может тебе достаточно Application.ProcessMessages;
Установить в цикле основного потока и двигать там индикатор?


Stanislav   (2007-07-19 15:02:00) [12]

Я думаю нужно для начала разобраться что такое Инд екатор...


Xion   (2007-07-19 14:46:00) [13]

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


iXT   (2007-07-19 11:39:00) [14]

> [28] Xion ©   (19.07.07 11:23)

Бред... ничего не понял.

Некто сделал что-то, к чему надо присобачить индикатор. Индикатор ты хочешь ляпить в доплнительном потоке. Т.е. создать в основном потоке дополнительный ты можешь, а создать форму нет. Так что ли?


Xion   (2007-07-19 11:23:00) [15]

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


iXT   (2007-07-19 09:10:00) [16]

> я не именю деступа к главной форме я только имею доступ
> к индекатору

Кто тебе говорил про главную форму. Читай [23] внимательно.


Xion   (2007-07-18 18:35:00) [17]

У кто может обяснить как визываеться WindowProc и что она делаеть. а точнея интересует замена ее для окна.[9] у етой програме реализована подмена WindowProc и как визвать реальную не подмениную WindowProc


Xion   (2007-07-18 11:37:00) [18]

я уже почти все сделал на подобе [9] но остался нормально вывести Caption и обработку клавиатуры и все


Xion   (2007-07-18 11:30:00) [19]

я не именю деступа к главной форме я только имею доступ к индекатору


iXT   (2007-07-18 11:23:00) [20]

> [22] Xion ©   (18.07.07 11:16)

В корне не верное решение. Операцию делай в отдельном потоке, а индикацию в основном.


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо