Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flash Приложения: AIR, Zinc и тд. (http://www.flasher.ru/forum/forumdisplay.php?f=94)
-   -   бесконечный опрос буфера обмена или файла (http://www.flasher.ru/forum/showthread.php?t=134438)

SparkLy 30.12.2009 12:25

бесконечный опрос буфера обмена или файла
 
Здравствуйте . вопрос по AIR
Вопрос касается считывания данных из буфера обмена или файла ( FileStream) - не зависнет ли приложение рано или поздно, если этот процесс повесить в бесконечный цикл.

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

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

alexcon314 30.12.2009 12:41

Ну, а зачем цикл? По таймеру можно обращаться к буферу или к файлу. Не фонтан, конечно, но все же...
А так, слить данные в аир-приложение из другой проги можно, наверно, через LocalConnection. Только там объем за раз не более 40кб, вроде. А, ну и AMF-сериализацию нужно еще делать. LC канал опрашивается плеером автоматически, код для этого не нужен.

SparkLy 30.12.2009 12:58

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

хмм ... а как через по LocalConnection подключить локальный файл, он это вообще предусматривает ?

alexcon314 30.12.2009 13:46

Файл подключить нельзя. ЛЦ - это расшаренняа область памяти, куда можно сторонней прогой чего-то записать, а плеер эти данные увидит, вобщем-то плеер также в цикле обращается к этой области, только реализовано это нативно, без АС, работает по принципу блокировок очерёдного доступа: пока одно приложение что-то делает, пишет туда или читает, другие ждут.
О файлах речь тут не идет. А, да, сокет еще есть. Можно в сторонней проге поднять простенький сокет-сервер, а из айра к нему приконнектиться.
Есть примеры расширений для айра. Проект Shu, например. Если не ошибаюсь, там взаимодейтсвие с оболочкой идет именно через локальный сокет.
Ну, и конечно, реализация любого из этих подходов в вашем случае потребует модификации вашей сторонней программы, которая должна поставлять данные плееру.

SparkLy 30.12.2009 18:07

мда ... видимо без сокетов не обойтись =/
попробовал с буфером в enter_frame - нормально все работает, но, если я начинаю активно использовать буфер (не в программе, а в винде, для своих нужд) , то начинаются конфликты =/

Добавлено через 18 минут
и все-таки опрос буфера в enter_frame + try-catch - и можно обмениваться данными с любым другим приложением без особых проблем )

alexcon314 04.01.2010 10:31

А не подскажете, как вы вынимаете данные из буфера обмена в плеере? То бишь в АС?


Часовой пояс GMT +4, время: 05:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.