(no subject)

Sep 01, 2012 14:37

В Бресте во многих дворах до сих пор стоят двухэтажные сарайчики, в которых жители хранят всякое барахло. Сарайчики эти закреплены за квартирами окружающих домов и обслуживаются жэсами.
Мы со spluszka'ой, гуляя по дворам, натолкнулись на сарайчик, возле каждой из ведущих на второй этаж лестниц которого было по надписи. Крупные жёлтые под трафарет написанные буквы гласили:
"Лестница находится в аварийном состоянии. Эксплуатация запрещена. ЖЭС №1".
Судя по всему, сарайчики людям нужны, и на второй этаж их владельцы лазят. Но жэс себя обезопасил, проблему решил.

Вспомнил об этом случае на днях во время работы. В очередной раз я боролся с вводом текста на иврите и английском. Обычные текстовые поля его не поддерживают, а вот FTETextField, если верить документации, должен справляться с этой сложной задачей.
По умолчанию это поле служит только для отображения текста, а не для ввода, а чтобы изменить его поведение, нужно сменить параметр type с Dynamic на Input. Я попытался изменить параметр, но, вопреки документации, компилятор выдал ошибку. Я полез в код компонента. И что я там обнаружил? В функции проводятся две проверки. Первая: если тип, который пытаются задать, не равен ни Dynamic, ни Input, выдай ошибку. Вторая: если тип равен Input, то всё равно выдай ошибку! Адобовцы решили не заморачиваться поддержкой сложной функциональности, а просто написали крупными жёлтыми буквами, что пользоваться ею нельзя.
Мне казалось, что фирма Adobe, производитель фотошопа, флэша, акробат ридера и т.д., должна быть посолиднее брестского жэса номер один.
Но методы они используют одинаковые.

Для желающих под катом отрывок из документации и та самая функция.


The type of the text field. Either one of the following TextFieldType constants: TextFieldType.DYNAMIC, which specifies a dynamic text field, which a user cannot edit, or TextFieldType.INPUT, which specifies an input text field, which a user can edit

public function set type(value:String):void
{
var message:String;

// TextField throws this RTE when invalid values are set.
if (value != TextFieldType.DYNAMIC &&
value != TextFieldType.INPUT)
{
message = getErrorMessage("badParameter", "type");
throw new ArgumentError(message);
}

if (value == TextFieldType.INPUT)
{
message = getErrorMessage("unsupportedTypeInFTETextField");
throw new Error(message);
}
}

графоманы

Previous post Next post
Up