Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.02.17;
Скачать: CL | DM;

Вниз

Помогите разобраться с потоком   Найти похожие ветки 

 
Artem   (2008-01-25 13:21) [0]

Прошу помощи.
Задача: вместе с проигрыванием FLASH-ролика передвигать TrackBar.

Есть поток.

procedure TMoveBar.Execute;
begin
while not Terminated do
 synchronize(movebar);
end;

procedure TMoveBar.movebar;
begin
 form1.trbar.Position:=form1.flash1.CurrentFrame;
end;


В FormShow:
flash1.Movie:="e:\abc.swf";
trbar.Max:=flash1.TotalFrames;
flash1.Stop;
co:=TMoveBar.Create(true);


При нажатии на кнопку "Воспроизвести":
flash1.Play;
co.resume;
co.Priority:=tpLower;


Проигрывается один фрейм и останавливается. В чем ошибка?


 
Ega23 ©   (2008-01-25 13:23) [1]

А зачем тут поток?
Тем более такой?


 
Palladin ©   (2008-01-25 13:24) [2]

поток то тебе зачем?


 
Сергей М. ©   (2008-01-25 13:25) [3]

Зачем вообще здесь понадобился доп.поток ?


 
Сергей М. ©   (2008-01-25 13:26) [4]

))

Дураки мыслят одинаково)


 
Artem   (2008-01-25 13:29) [5]

Ну а как? Через Timer делал - та же ерунда: проигрывается один фрейм и останавливается.


 
clickmaker ©   (2008-01-25 13:29) [6]


> while not Terminated do
>  synchronize(movebar);

всем привет от Архангельского )


 
Artem   (2008-01-25 13:37) [7]

Ну что? В чем ошибся?


 
Artem   (2008-01-25 13:41) [8]

Народ, ну мы что только вопросами ограничились? Помогите человеку :)


 
Сергей М. ©   (2008-01-25 13:42) [9]


> Artem   (25.01.08 13:29) [5]


А если без таймеров и без потоков ? И безо всяких там тракбаров ?


 
Artem   (2008-01-25 13:43) [10]


> Сергей М. ©


Всмысле?


 
Artem   (2008-01-25 13:45) [11]


> А если без таймеров и без потоков ? И безо всяких там тракбаров
> ?


Вопросы убивают. Если да кабы. Мне надо, чтобы вместе с вопросизведением ролика двигался тракбар. В самом начале об этом сказал. Что значит "если без"???
:)


 
clickmaker ©   (2008-01-25 13:48) [12]

а что такое flash1?


 
Artem   (2008-01-25 13:49) [13]


> а что такое flash1?

TShockwaveFlash


 
Palladin ©   (2008-01-25 13:50) [14]

а события у него есть какие нибудь?


 
clickmaker ©   (2008-01-25 13:51) [15]

и у него нет событий, типа FrameChanged или что-то наподобие?
чтобы двигать ползунок вместе с ним


 
Artem   (2008-01-25 13:53) [16]


> а события у него есть какие нибудь?


OnProgress есть


 
Palladin ©   (2008-01-25 13:56) [17]

вперед и с песней


 
Artem   (2008-01-25 14:01) [18]

Вставляю в OnProgress trbar.Position:=flash1.CurrentFrame; - результата нет


 
Сергей М. ©   (2008-01-25 14:06) [19]


> Artem   (25.01.08 14:01) [18]


Ну нет и нет. Разбирался бы почему его нет.

Но с какого перепугу тебя понесло в потоки и таймеры-то ?)

Волшебные слова "поток" и "таймер" тебе Архангельский впарил, ттипо, юзай и все будет "завсегда везде ништяк", как и полагается настоящему "джедаю" ?)


 
Сергей М. ©   (2008-01-25 14:08) [20]


> Вопросы убивают


Тупицы, бездумно копирующие примеры от Архангельского, еще больше убивают. Наповал. Поверь - не ты один труп)


 
Artem   (2008-01-25 14:09) [21]


> Ну нет и нет. Разбирался бы почему его нет.


Я пришел за советом - может у кого глаз наметан - сразу увидит ошибку или подскажет как лучше сделать. В комментировании задачи не нуждаюсь.


 
Artem   (2008-01-25 14:10) [22]


> копирующие примеры от Архангельского


Ошибаешься на все 100%. У меня его книги нет.


 
clickmaker ©   (2008-01-25 14:13) [23]

а события TrackBar как-то обрабатываются?
применительно к flash1


 
Artem   (2008-01-25 14:14) [24]


> а события TrackBar как-то обрабатываются?применительно к
> flash1


Да, в OnChange:
flash1.GotoFrame(trbar.position);


 
clickmaker ©   (2008-01-25 14:15) [25]


> [24] Artem   (25.01.08 14:14)

так может они другу и мешают?
flash1.GotoFrame(trbar.position); <-> trbar.Position:=form1.flash1.CurrentFrame


 
Artem   (2008-01-25 14:16) [26]


> так может они другу и мешают?


Не должны вроде как. Убрал - все равно не работает, как требуется


 
Сергей М. ©   (2008-01-25 14:17) [27]


> Я пришел за советом


Ну так и заполучи совет - ни потоки ни таймеры тебе нахрен не нужны.


> Ошибаешься на все 100%. У меня его книги нет


Да-да.

Код вида


while not Terminated do
synchronize(какаятотам ботва);


ты бездумно впендюрил, увидев его на бескрайних просторах Тырнета.


 
Artem   (2008-01-25 14:19) [28]


> ни потоки ни таймеры тебе нахрен не нужны


Ну так скажи, если такой грамотный программист, чего тянешь-то?


 
Сергей М. ©   (2008-01-25 14:22) [29]

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


 
Artem   (2008-01-25 14:28) [30]


> Тебе уже сказали - разбирайся с логикой возбуждения событий
> того компонента, который ты использовал.


Ладно, умный ты человек. Не знаешь - не говори.
В действительности все работает через Таймер, если интервал поставить 59. Но проблема, действительно в том, как и предположил
> clickmaker ©   (25.01.08 14:15) [25]
- OnChange мешает.
А мне надо бы, чтобы была возможность ручной промотки (хватаешь за тракбар и двигаешь, вместе с этим прокручивается flash). Для этого надо обрабатывать OnChange. Но они друг другу мешают!
У кого какие есть мысли на этот счет?


 
clickmaker ©   (2008-01-25 14:31) [31]


> У кого какие есть мысли на этот счет?

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


 
Artem   (2008-01-25 14:32) [32]


> чтобы обработчик события не вызывался в определеный момент,
>  что нужно сделать?


вот думаю какое условие задать...


 
Artem   (2008-01-25 14:36) [33]

Как мне запретить вызов обработчика во время воспроизведения?


 
Artem   (2008-01-25 14:39) [34]

Если в OnChange после flash1.GotoFrame(trbar.position);
возобновить воспроизведение
flash1.Play;
то тормозит ролик, заикается по таймеру каждые 59 долисекунд.


 
Artem   (2008-01-25 14:45) [35]


> чтобы обработчик события не вызывался в определеный момент,
>  что нужно сделать?


Подскажи, пожалуйста. Наверное, я просто не знаю. Все-таки я новичок...пока учусь.


 
Сергей М. ©   (2008-01-25 14:47) [36]

Редкой тупости человек)


 
Artem   (2008-01-25 14:50) [37]


> Сергей М. ©


Кто, ты? Ты про кого?


 
clickmaker ©   (2008-01-25 14:50) [38]


> [35] Artem   (25.01.08 14:45)

последний намек: обработчик события - это свойство объекта.
Его можно назначать и убирать в любой момент


 
Artem   (2008-01-25 14:54) [39]


> последний намек: обработчик события - это свойство объекта.
> Его можно назначать и убирать в любой момент


Я не знаю как. Скажи, пожалуйста.


 
Artem   (2008-01-25 14:56) [40]


> clickmaker

Для тебя это очевидно, для меня нет. Допусти, что я не знаю как. Ну что, сложно сказать что ли? Больше времени на намеки уйдет.



Страницы: 1 2 вся ветка

Текущий архив: 2008.02.17;
Скачать: CL | DM;

Наверх




Память: 0.55 MB
Время: 0.022 c
2-1201267828
asdfa
2008-01-25 16:30
2008.02.17
Как пропустить выполнение цикла верхнего уровня?


15-1200313761
Human
2008-01-14 15:29
2008.02.17
аналог VMware Converter но для Virtual PC 2007


2-1201335591
MNNN
2008-01-26 11:19
2008.02.17
Рисование иконки


15-1200657118
Searcher
2008-01-18 14:51
2008.02.17
Cсылку на John Lennon Revolution mp3


2-1201009454
savyhinst
2008-01-22 16:44
2008.02.17
Pascal Script