вторник, июля 01, 2008

Апостроф и FlashDevelop|Flex SDK. AS3

Сегодня столкнулся с забавной проблемкой.
Проект FlashDevelop находится в папке, содержащей апостроф - символ " ' ": Children'sPortal.

В код включаю внешний SWF - пишется строчка:
[Embed(source="Assets/preloader.swf")].

Компилирую. Вылезает список ошибок:

Classes\myApplication___preloader_class.as(25): col: 43 Error: Syntax error: expecting rightparen before sPortal.
[Embed(_resolvedSource='.../Children'sPortal/.../Assets/preloader.swf', mimeType='application/octet-stream')]

. . .

Убираю апостроф - всё компилится.

Итог - апострофы в именах файлов и папок - враги девелопера.
Не проверял этот баг на других программах, но могу предположить, что всплыть он запросто может где угодно.

6 комментариев:

yzh44yzh комментирует...

Существует хорошее правило -- давая имена файлам и каталогам придерживаться тех же принципов, что и в именах переменных -- использовать только символы диапазона a-zA-Z0-9_

Это, казалось бы устаревшее правило и на сегодняшний день очень полезно, ибо обеспечивает совместимоть данных имен с любым софтом и любыми ОС.

И если его не придерживаться, всегда есть риск наткнуться на какие-нибудь грабли, типа вышеописаных.

Racer комментирует...

Вот-вот. Лишний раз убеждаешься, что от MS DOS мы еще не далеко ушли :)

kaicevy комментирует...

Константин Kohl комментирует...

В Builder'е та же песня...

crazy horse комментирует...

2Racer, imho, дело не в оси, а в компиляторе.
2All
А конструкцию вида "C:\blah's\blah's"
он разве не проглотит? Проверить тут не могу, под рукой sdk живого.

crazy horse комментирует...

Зы: Имелось в виду, прописать полный путь, а не относительный.