PDA

Просмотр полной версии : Ошибка 1119. Как сделать ссылку с динамическим типом?


Thanx7
29.11.2007, 12:35
У меня возникла следующая ошибка:

1119: Access of possibly undefined property text through a reference with static type my_text_class.

Я вызвал из одного класса код:

var my_text:my_text_class=new my_text_class();
addChild (my_text);
my_text.text=" " + Math.round(my_ns.bytesLoaded / 1000) + " из " + Math.round(my_ns.bytesTotal / 1000) + " Kb (" + Math.round(pctLoaded * 100) + "%)";

А вот сам класс, где создаётся динамическое тектстовое поле:

package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;

public class my_text_class extends Sprite {

public function my_text_class() {
var tfDynamic:TextField = createTextField(10, 10, 100, 20);
tfDynamic.type = TextFieldType.DYNAMIC;
tfDynamic.text = "hello";

var tfInput:TextField = createTextField(10, 45, 100, 20);
tfInput.type = TextFieldType.INPUT;
tfInput.text = "world";
}

private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.background = true;
result.border = true;

result.font="Verdana";
result.color=0x7f7f7f;
result.size=10;

addChild(result);
return result;
}
}
}

Подскажите, пожалуйста, как сделать ссылку с динамическим типом?

etc
29.11.2007, 13:14
Кто вас там классы научил называть?
И где у вас в коде геттер-сеттер text?

Thanx7
29.11.2007, 13:39
Спасибо за наводку.

Thanx7
29.11.2007, 16:05
Вот, подумал, и всё получилось.
А класс переименовал.:)

Код из класса, который вызывает:

// Добавляем текстовое поле
var my_text:pg_inscription=new pg_inscription(percent_of_loading);
addChild (my_text);

И сам pg_inscription:

package {
import flash.display.Sprite;
import flash.text.TextField;
import flash.text.TextFieldType;

public class pg_inscription extends Sprite {

public function pg_inscription(s:String) {
var tfDynamic:TextField = createTextField(10, 10, 100, 20);
tfDynamic.type = TextFieldType.DYNAMIC;
tfDynamic.text = s;
}

private function createTextField(x:Number, y:Number, width:Number, height:Number):TextField {
var result:TextField = new TextField();
result.x = x;
result.y = y;
result.width = width;
result.height = height;
result.background = true;
result.border = true;

addChild(result);
return result;
}
}
}

etc
29.11.2007, 16:07
Вы где-нибудь во Flash видели имена классов, начинающихся со строчной буквы и имеющие подчеркивания в названии?

Thanx7
29.11.2007, 16:46
Это я стараюсь, как в пути к файлу, не употреблять заглавных букв, а только маленькие. А насчёт того, чтобы уйти от подчёркивания - я подумаю. :) Действительно, нигде не видел. Самоучка.