__i
11.04.2007, 16:42
Image, SWFLoader не грузят файлы на Маке, если приложение работает локально (делалось приложение в цинке для Мака).
Вероятно буг связан с SWFLoader, который невено колбасит строку для линка
код SWFLoader, метод loadContent (начиная со строки 1261) и мои коменты
.......
if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
{
var rootURL:String;
if(SystemManagerGlobals.bootstrapLoaderInfoURL!=null && SystemManagerGlobals.bootstrapLoaderInfoURL!="")
rootURL = SystemManagerGlobals.bootstrapLoaderInfoURL;
else if (root)
rootURL = root.loaderInfo.url;
else if (systemManager)
rootURL = DisplayObject(systemManager).loaderInfo.url;
if (rootURL)
{
var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
//тут индусы наверное забыли, что у мака то разделители каталогов ":"
//и локальный путь будет содержать не слеши, а ":".
//поэтому у нас получаеться неверный путь к картинке
//естетсвенно мы получаем мега болт вместо имаджа.
if (lastIndex != -1)
url = rootURL.substr(0, lastIndex + 1) + url;
}
}
.......
Решение этой проблемы (не идеально но нас пока устраивает):
Передаем в сурс Image полный путь к картинке, который получам так
link = mdm.Application.path + [относительный путь к картинке]
mdm.Application.path - это цинковая функция возвращающая каталог приложения, но можно выдегривать путь и без нее из
Application.application.url обрезая имя файла в конце.
Вероятно буг связан с SWFLoader, который невено колбасит строку для линка
код SWFLoader, метод loadContent (начиная со строки 1261) и мои коменты
.......
if (!(url.indexOf(":") > -1 || url.indexOf("/") == 0 || url.indexOf("\\") == 0))
{
var rootURL:String;
if(SystemManagerGlobals.bootstrapLoaderInfoURL!=null && SystemManagerGlobals.bootstrapLoaderInfoURL!="")
rootURL = SystemManagerGlobals.bootstrapLoaderInfoURL;
else if (root)
rootURL = root.loaderInfo.url;
else if (systemManager)
rootURL = DisplayObject(systemManager).loaderInfo.url;
if (rootURL)
{
var lastIndex:int = Math.max(rootURL.lastIndexOf("\\"), rootURL.lastIndexOf("/"));
//тут индусы наверное забыли, что у мака то разделители каталогов ":"
//и локальный путь будет содержать не слеши, а ":".
//поэтому у нас получаеться неверный путь к картинке
//естетсвенно мы получаем мега болт вместо имаджа.
if (lastIndex != -1)
url = rootURL.substr(0, lastIndex + 1) + url;
}
}
.......
Решение этой проблемы (не идеально но нас пока устраивает):
Передаем в сурс Image полный путь к картинке, который получам так
link = mdm.Application.path + [относительный путь к картинке]
mdm.Application.path - это цинковая функция возвращающая каталог приложения, но можно выдегривать путь и без нее из
Application.application.url обрезая имя файла в конце.