Проблема с подключением LocalConnection к actionscript 1 swf

Я создаю приложение оболочки, которое будет загружать другие swf-файлы внутри него в зависимости от того, в какой главе и в каком разделе находится пользователь. Оболочка написана на ActionScript 3 и загружает в нее различные AS3, AS2 и AS1 swf. Я использую LocalConnection после загрузки AS2 и AS1 swf, чтобы установить правильную переменную для flash, чтобы найти правильный XML-файл для загрузки для этой главы / swf. До сих пор у меня не было проблем с загрузкой AS2 swf, но 2 или 3 AS1 swf, которые у меня есть, похоже, просто не устанавливаются и не загружаются вообще. В прошлом я очень мало работал с AS1, кроме отладки или настройки старого кода, поэтому мне интересно, не упустил ли я что-то действительно очевидное?

Вот код для загрузки и подключения к AS1 swf из AS3:

AS1SWF = evt.target.content;
sendSwf_lc = new LocalConnection();
addChild(AS1SWF);
stopPlayback(fileID);

private function stopPlayback(fileID:String):void {
sendSwf_lc.send("LocalConnection", "init", fileID, "English");
}

Вот код в приложении AS1 для получения этого вызова LocalConnection.

var conn:LocalConnection;
conn = new LocalConnection();
conn.connect("LocalConnection");

conn.init = function(chapter, language) {

drillFile = "matching/xml/"+chapter+".xml";
drill = new XML();
drill.ignoreWhite = true;
drill.onload = getDrillXML;
drill.load(drillFile);
this.close();
}

function getDrillXML() {
trace("Application is starting now!");
//Rest of code
}

Я, очевидно, упустил некоторые вещи, но это то, к чему попадает swf ... Он правильно загрузит AS1 swf, отправит правильную переменную и запустит функцию инициализации. Он не попадет в функцию getDrillXML для события onLoad. Я тестировал это с работающим XML и нефункционирующим XML, он определенно выдаст сообщение об ошибке загрузки, если путь XML неверен, поэтому, когда я делаю это правильно, он определенно загружает правильный XML. У меня есть оператор трассировки в самом верху функции getDrillXML, и он никогда не появляется, поэтому это должно быть что-то, связанное с классом XML в AS1, и оно неправильно загружает файл XML, завершает загрузку и затем переходит к указанной функции после того, как это будет сделано.

Я тестировал это без LocalConnection и просто жестко закодировал переменные с помощью локального swf, и он работает нормально, все загружается, и приложение работает, как задумано.

Кто-нибудь еще сталкивался с этим раньше? Это проблема объема? Мне что-то не хватает в версии AS1 классов LocalConnection или XML? Файл публикуется на флешке 6 swf.

Спасибо за любую помощь!


person vanhornRF    schedule 09.12.2008    source источник


Ответы (1)


вздох

Я не писал код для приложения AS1, и я не знаю, почему это сработало, когда SWF является автономным приложением, но почему он не работает, когда он загружен внутри приложения оболочки AS3, НО событие xml onLoad неправильно написано как onload в исходном swf. Не могу поверить, что потратил все это время на что-то столь тривиальное, ха-ха, чувак ... Иногда программирование может быть удручающим.

Спасибо всем, кто это прочитал, приступим к моей следующей головной боли!

person vanhornRF    schedule 09.12.2008
comment
разве вы просто не любите не получать из-за этого ошибки времени компиляции;) - person grapefrukt; 10.12.2008
comment
Да, старый AVM1 был действительно удовольствием и удовольствием отлаживал хех - person vanhornRF; 10.12.2008