Ошибка 1119 при создании кнопки «Загрузить текст» - PullRequest
0 голосов
/ 09 марта 2012

Раздел Flash-анимации, который я создаю, включает в себя область, где люди могут писать в блокноте, сохранять свою работу и обновлять ее позже.Файл будет загружен пользователями до их запуска, а не с веб-страницы.Вот код, который у меня есть на данный момент:

import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.display.MovieClip;
import flash.events.Event;

stop();

var MyNotes:FileReference = new FileReference()


Save_btn.addEventListener (MouseEvent.CLICK, SaveText);

function SaveText(Event:MouseEvent):void {
MyNotes.save(TypeOwn_txt.text, "MyNotes.txt");
}

Load_btn.addEventListener (MouseEvent.CLICK, LoadText);

function LoadText(Event:MouseEvent):void {
MyNotes.addEventListener(Event.SELECT, onFileSelected);
var swfTypeFilter:FileFilter = new FileFilter("Text Files","*.txt; .html;*.htm;*.php");
var allTypeFilter:FileFilter = new FileFilter("All Files (*.*)","*.*");
MyNotes.browse([swfTypeFilter, allTypeFilter]);
}

function onFileSelected(event:Event):void
{
trace("onFileSelected");
MyNotes.addEventListener(Event.COMPLETE, onFileLoaded);
MyNotes.load();
}

function onFileLoaded(event:Event):void
{
var fileReference:FileReference=event.target as FileReference;
var data:ByteArray=fileReference["data"];
TypeOwn_txt.text=data.toString();
}

Проблема в том, что я получаю «Сводка структуры», Слой «Действия», Кадр 29, Строка 19 1119: Доступ к возможно неопределенному свойству SELECT черезссылка со статическим типом flash.events:MouseEvent. "в отношении строки" MyNotes.addEventListener (Event.SELECT, onFileSelected); ".Я провел некоторое исследование и понимаю, что это связано с тем, что родитель не идентифицирован как мувиклип или что-то в этом роде.Я все еще не уверен, однако я не имею ни малейшего понятия, как действовать!Спасибо.

1 Ответ

0 голосов
/ 10 марта 2012

Просто чтобы сообщить вам, что проблема решена, хотя я действительно не знаю как. Я использовал этот сайт для шаблона и работал в обратном направлении. Я добавлю нижеприведенный рабочий код на случай, если он кому-нибудь пригодится.

import flash.events.MouseEvent;
import flash.net.FileReference;
import flash.net.FileFilter;
import flash.utils.ByteArray;
import flash.events.MouseEvent;
import flash.events.Event;
import flash.events.IOErrorEvent;
import flash.display.MovieClip;

var myNotes:FileReference;

Load_btn.addEventListener(MouseEvent.CLICK, onLoadClicked);

function onLoadClicked(event:MouseEvent):void
{
    trace("onBrowse");
    myNotes=new FileReference();
    myNotes.addEventListener(Event.SELECT, onFileSelected);
    var swfTypeFilter:FileFilter = new FileFilter("Text Files","*.txt; *.html;*.htm;*.php");
    var allTypeFilter:FileFilter = new FileFilter("All Files (*.*)","*.*");
    myNotes.browse([swfTypeFilter, allTypeFilter]);
}


function onFileSelected(event:Event):void
{
    trace("onFileSelected");

    myNotes.addEventListener(Event.COMPLETE, onFileLoaded);
    myNotes.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
    myNotes.load(); 
}

function onFileLoaded(event:Event):void
{
    var fileReference:FileReference=event.target as FileReference;
    var data:ByteArray=fileReference["data"];
    textArea.text=data.toString();
    myNotes.removeEventListener(Event.COMPLETE, onFileLoaded);
    myNotes.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);
}

function onFileLoadError(event:Event):void
{
    myNotes.removeEventListener(Event.COMPLETE, onFileLoaded);
    myNotes.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);

    trace("File load error");
}   

Save_btn.addEventListener (MouseEvent.CLICK, SaveText);

function SaveText(Event:MouseEvent):void {
    myNotes=new FileReference();
    myNotes.save(textArea.text, "MyNotes.txt");
}

Спасибо всем, кто внес свой вклад.

...