0

MySQL PHP ルート経由で Flash にログイン データベースを作成したいと考えています。いくつかのチュートリアルからコードの大部分をコピーしました。私のログインには基本的に、パスワードを選択してメールアドレスを入力するユーザーが含まれており、基本的なコンボボックスがあります。

コードを実行すると、このエラーが表示されます...

ReferenceError: Error #1069: Property data not found       fl.controls.Button and there is no default value.
    at phpRegister_fla::MainTimeline/btnHandler()

Flash をデバッグしましたが、追加情報が得られません。

オンラインで検索しても、エラーの原因がわかりません。

私のコードが、どこが間違っているかを特定するのに役立つことを願っています. 長くなってすみません。どんな助けでも大歓迎です。

import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLLoader;
import flash.events.MouseEvent;
import flash.events.KeyboardEvent;
import flash.events.Event;
import flash.text.TextField;
import fl.data.DataProvider;
import fl.controls.Button;

btn_Submit.addEventListener(MouseEvent.CLICK, btnHandler);

//Validate form fields
function btnHandler(event:MouseEvent):void {

    status_Txt.text =  "" + event.target.data.systemResult;
    trace(event.target.data.systemResult);

    var phpVars:URLVariables = new URLVariables();

    var phpFileRequest:URLRequest = new URLRequest("phpFile");
    phpFileRequest.method = URLRequestMethod.POST;
    phpFileRequest.data = phpVars;

    phpVars.email = email.text;
    phpVars.ps_wd = ps_wd.text; 

    var phpLoader:URLLoader = new URLLoader();
    phpLoader.dataFormat = URLLoaderDataFormat.VARIABLES;
}

textOneField.addEventListener(Event.CHANGE, changeHandler);

function changeHandler(event:Event):void {
    trace("data entered");
}

textTwoField.addEventListener(Event.CHANGE, changeData);

function changeData(event:Event):void {
    trace("data changed");
}

email.addEventListener(KeyboardEvent.KEY_UP, keyHandler);

ps_wd.addEventListener(KeyboardEvent.KEY_UP, keyEnter);


function keyHandler(event:KeyboardEvent):void {
    if(event.keyCode == Keyboard.ENTER)
        trace("keyboard was pressed");
}

function keyEnter(event:KeyboardEvent):void {
    if (event.keyCode == Keyboard.ENTER)
        trace("Enter button hit");
}

var persons:Array = new Array();
persons[0] = "Male";
persons[1] = "Female";

c_two.dataProvider = new DataProvider(persons);
c_two.addEventListener(Event.CHANGE, dataHandler);

function dataHandler(event:Event):void {
    trace(event.target.value);
}
4

2 に答える 2

0

おそらくコードに問題はありません。むしろ、「標準フラッシュ ライブラリ」に存在しないコンポーネント、つまり fl.controls.button を使用しているということです。それを使用できるようにするには、そのコンポーネントにリンケージを追加する必要があります。

コードをどのようにコンパイルするかについて言及していないので、何をすべきかを伝えるのはちょっと難しいです。ただし、おそらく fl ボタンは必要ありませんが、代わりに「SimpleButton」または「Movieclip」などを使用できます。

Flash の場合: http://forums.adobe.com/message/4260710?tstart=0

同様の問題: AS3 エラー: '1172: 定義 fl.controls:Button が見つかりませんでした。'

詳細: http://www.actionscript-flash-guru.com/blog/14-flcontrols-not-found-how-do-i-import-the-fl-package

于 2013-04-28T21:46:35.597 に答える
0

あなたの btnHandler 関数には次のものがあります。

... event.target.data.systemResult ...

event.target は fl.control.Button オブジェクトのようです。これらのオブジェクトには「データ」プロパティがありません。event.target.data.systemResult で何を探しているのかわかりませんか?

于 2013-04-29T19:37:51.180 に答える