Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];
ВнизПомогите разобраться с потоком Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.53 MB
Время: 0.042 c