Чтобы ответить на более общий вопрос: импорт - это предпочтительный способ включения внешних файлов. На мой взгляд, оператор include следует использовать только тогда, когда ничего больше не будет делать, так как это немного усложняет отладку, если что-то пойдет не так, и затрудняет чтение и понимание кода. Описание Ассафом того, что делают import и include, правильно.
А затем для более конкретной проблемы, которая, похоже, у вас есть: вы, вероятно, пытаетесь выполнить testing.init(); прямо в блоке <script> - попробуйте поместить его в метод. У вас должны быть только такие вещи, как операторы import и объявления членов (переменные, функции) непосредственно в блоке сценария, а такие операторы - внутри функций.
Вы видите это сообщение об ошибке, потому что когда вы вызываете метод init() этого объекта, он еще не был создан - этот оператор будет выполнен, когда будет загружено определение класса, который представляет ваш файл MXML; вы хотите, чтобы он выполнялся, когда был создан конкретный экземпляр этого класса, и вы можете сделать это, вызвав его в конструкторе класса (это, насколько я знаю, невозможно, когда вы пишете класс, использующий MXML, так что читайте дальше :) или, например, в функции обработчика для события FlexEvent.CREATION_COMPLETE (или creationComplete с точки зрения атрибутов тега MXML) (см. пример ниже).
Попробуйте что-то вроде этого:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
width="800" height="600"
creationComplete="creationCompleteHandler();"
>
<mx:Script>
<![CDATA[
import lib.Journal;
public var testing:Journal = new Journal();
private function creationCompleteHandler():void
{
testing.init();
}
]]>
</mx:Script>
</mx:Application>
person
hasseg
schedule
21.02.2009