Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1200547314
гость
2008-01-17 08:21
2008.02.17
на каком языке это написано ?


2-1200991020
MNNN
2008-01-22 11:37
2008.02.17
Скопировать с языком


15-1200254896
Kostafey
2008-01-13 23:08
2008.02.17
Синхронизация каталогов


15-1200592478
Lip
2008-01-17 20:54
2008.02.17
А кому не жалко, выложите, образцовые исходники проекта


2-1201008948
Kolobok
2008-01-22 16:35
2008.02.17
Как вывести данные из DbGrid по дате с помощью запроса





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский