![]() |
Всё верно, продолжил, надо было курить доки, но после переустановки по крайней мере одни и те же ошибки.
Со стэндалоне режимом разобрался - фд в нём надо запускать от имени администратора, библиотеки, есс-но, подключил нормально и дебажный плеер тоже. Джава 1.6 32б, да, но это так и было. По теме. Взял пример из документации адобе, ApplicationDomainExample для того, чтобы он работал в заголовке надо прописать: //@mxmlc -static-link-runtime-shared-libraries = true; иначе не подгружает свф, а в classLoadedHandler Код:
var greeter:* = new runtimeClassRef();Но вот так всё работает. какую нибудь документацию по компилятору бы... |
Цитата:
Цитата:
|
AsCen Veddge, определитесь пожалуйста с вопросом. Тема называется "как подключить класс на этапе выполнения", но Вы с самого начала постоянно пишете про ФД, компилятор и прочее, не имеющее ровным счетом никакого отношения к рантайму. И ответы получаете соответствующие.
При чем здесь, по-вашему, компилятор, доки по нему, настройки ФД, стендалон и прочие права администратора? Вы чего добиться то хотите? Чтобы компилятор как ни в чем ни бывало воспринимал в коде класс, которого НЕТ на этапе компиляции? Так этого не будет. Либо динамика и определение типов через звездочку, либо общий интерфейс, но в любом случае, если Вам нужно именно создавать новые экземпляры, то сохраняете ссылку от getDefinitionByName в переменную типа :Class и дальше через new. Но переменная для хранения экземпляра, конечно же, не может быть объявлена компилятору как класс, которого НЕТ. Этого Вы не получите никак. Есть еще другой способ — завести в загружаемой swf метод, возвращающий экземпляр класса, который определен в этой swf. Но, опять же, загрузчик не будет "знать" тот класс, который в него не вкомпилирован, и для вызова методов и обращения к свойствам Вам придется опустить тип до Object или *. Если хочется красивого кода, то определите общий интерфейс — интерфейсы сравниваются по содержанию. |
Понимаете, без строчки
Код:
//@mxmlc -static-link-runtime-shared-libraries = true;возникают следующие ошибки на этапе выполнения: Error: Cannot load the specified file. at ApplicationDomainExample/loadErrorHandler() at flash.events::EventDispatcher/dispatchEventFunction() at flash.events::EventDispatcher/dispatchEvent() at ClassLoader/ioErrorHandler() , так что настройки компилятора тут очень даже при чём. Однако вопрос загрузки одной свф-ки считаю решённым. Следующий вопрос будет: как организовать архитектуру приложения с несколькими подгружаемыми файлами и сокетами. есть немного теории здесь: https://habrahabr.ru/post/276593/ И есть несколько топиков здесь, на flasher.ru например вот: http://www.flasher.ru/forum/showthread.php?t=144282 По идее надо создавать отдельный топик, но я ещё не пробовал это в коде, поэтому пока тут, ок? |
Вложений: 1
Простой пример без всяких перестроек.
|
Цитата:
|
| Часовой пояс GMT +4, время: 09:13. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.