Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Запрет на запуск нескольких экземпляров клипа. (http://www.flasher.ru/forum/showthread.php?t=99057)

DarkLight 27.07.2007 17:13

http://dl1t.com/112.jpg

А если вынести из цикла создание объекта и убрать delete, то действительно каждый отдельно(http://dl1t.com/32.jpg).

iNils 27.07.2007 17:18

Так я не убираю delete. Но заметил особенность. Если запустить один и он добежит пусть то 8, то запустив второй в этот момент, он сразу выдаст 1008.

etc 27.07.2007 17:24

В общем и целом, работа с SO довольно странная.

DarkLight 27.07.2007 17:25

У меня на 1ом скриншоте оба свф синхронно прибавляют 1001. Только секунд через 10 начинается асинхронность и сбрасывание до 0. При интервале между записями в секунду уже этого не происходит.
http://dl1t.com/Untitled-2.swf
http://dl1t.com/Untitled-3.swf

Насколько я понял, освобождение SO происходит не сразу после удаления экземпляра в AS

Domovoy 27.07.2007 21:22

Цитата:

Сообщение от __etc
Я бы сделал просто connect у LocalConnection, проверяя onStatus. Если connect не удался, то закрывать нафиг.

Но ведь всё равно, даже первый экземпляр будет слушать канал. И он ответит сам себе на запрос. Соответственно onStatus покажет, что кто-то (сама флешка) слушает канал. И закроется сам собой.
Хотя в принципе код на включение прослушки канала можно отстрочить таймером... Как бы только время подобрать?
Чтобы и запрос успел пройти, и пользователь четверной клик на эекзешнике не успел сделать.

etc 27.07.2007 22:51

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

Domovoy 28.07.2007 00:14

Ну вот в том то и дело, что коннект надо и в самой первой флешке открывать. И её же сенд, она сама и получит.

Kikasso 28.07.2007 02:28

Цитата:

Сообщение от Domovoy
Ну вот в том то и дело, что коннект надо и в самой первой флешке открывать. И её же сенд, она сама и получит.

Ну это как раз не проблема. Если флешка получает на этой волне, она и есть единственная.
connect держать может только одна.

etc 28.07.2007 11:27

А что мешает сначала сделать send? Если не удался, значит коннекта нет и делаем коннект. Если удался, значит коннект уже открыт кем-то и мы должны закрываться.

Domovoy 28.07.2007 12:08

Оказывается connect сам возвращает результат. Ну вообщем понятно, что true если соединение с каналом установлено и false, если нет. Таким образом написал код:

Код:

lc_in= new LocalConnection();
if(!lc_in.connect("can")) {fscommand("quit");}


Всем спасибо.


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

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