Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 09.03.2007, 08:48
vgl вне форума Посмотреть профиль Отправить личное сообщение для vgl Найти все сообщения от vgl
  № 1  
Ответить с цитированием
vgl
 
Аватар для vgl

Регистрация: Mar 2006
Адрес: Kemerovo, Sibiria, Russia
Сообщений: 8
Question Странные последствия добавления компонентов в библиотеку

Категорически приведствую спецов флеша
Возник трабл, объяснения которому я пока найти не могу. Может у кого-то было подобное, прошу подсказать, как его решить.
А дело в следующем. Я написал и сопровождаю GUI приложение. написано оно на AS 2.0 и компилю я его на Flash 7.2 Professional. Приложение содержит множество графических элементов, которые загружаются в память при инициализации приложения и потом в нужный момент достаются и помещаются на экране на нужном слое. Вид GUI можно менять при помощи конфигурационного XML файла.
До этого момента я обходился только средсвами AS ничего не помещая в библиотеку. Кнопки и текстовые поля. А тут мне понадобился ComboBox. Сделал скин для стандартного и проверил его работоспособность в тестовом приложении. Все OK. Добавил его в билиотеку своего основного приложения - основное приложение начало необъяснимо глючить. Кнопки не нажимаются, менюшки отрисовываются криво. Ошибок компилятор ни каких не выдает, трасировка тоже показывает, что все переменные, ответственные за прорисовку, передаются без ошибок. Причем выявил, что подобное поведение появляется при добавлении любого компонента в библиотеку. Спецы, подскажите с чем это может быть связано? Где искать нестыковку?
__________________
< - just fly for fun - >

Старый 09.03.2007, 09:05
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
А пример где?
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 09.03.2007, 09:35
vgl вне форума Посмотреть профиль Отправить личное сообщение для vgl Найти все сообщения от vgl
  № 3  
Ответить с цитированием
vgl
 
Аватар для vgl

Регистрация: Mar 2006
Адрес: Kemerovo, Sibiria, Russia
Сообщений: 8
Цитата:
Сообщение от iNils
А пример где?
Пример чего именно? Я пока даже локализовать толком не могу часть кода, где искать. А основное приложение выкладывать смысла нет. 10 тыс строк со всеми классами Хотябы приблизительно подскажите где можно поискать - я выложу эти части.
__________________
< - just fly for fun - >

Старый 09.03.2007, 09:58
vgl вне форума Посмотреть профиль Отправить личное сообщение для vgl Найти все сообщения от vgl
  № 4  
Ответить с цитированием
vgl
 
Аватар для vgl

Регистрация: Mar 2006
Адрес: Kemerovo, Sibiria, Russia
Сообщений: 8
Сейчас сделал отдельную SWF-ку с ComboBox и загрузил её в основное приложение - тот же эффект. Глючит.
Навсякий случай размещу код своего СomboBox , хотя такой глюк происходит, при использовании ЛЮБОГО компонента из стандартной бибилиотеки.
Код:
import mx.controls.ComboBox;
mx.controls.ComboBox.prototype.downArrowUpName = "ComboDownArrowOver"; 
mx.controls.ComboBox.prototype.downArrowDownName = "ComboDownArrowDown";
mx.controls.ComboBox.prototype.downArrowOverName = "ComboDownArrowOver";
mx.controls.ComboBox.prototype.downArrowDisabledName = "ComboDownArrowDisabled";
this.createClassObject(mx.controls.ComboBox, "my_cb", 0, {label:"Check this", _x:400, _y:400, _width:400, _height:50, _xscale:100, _yscale:100});
my_cb.setStyle("color", 0xFFFFFF);
my_cb.setStyle("backgroundColor", 0x123883);
my_cb.setStyle("themeColor", "haloGreen");
my_cb.setStyle("fontSize", 20);
//
var datarray:Array = new Array();
var temparray:Array = new Array();
for (j = 0; j < 1000; j++) {
	datarray.push("DEC №" + j);
}
//
for (i = 0; i < datarray.length; i++) {
	my_cb.addItem(datarray[i], i);
}
//
my_cb.rowCount = 10;
//var ix = my_cb.selectedIndex;
my_cb.editable = true; // clears the text field
//my_cb.selectedIndex = ix
//my_cb.open()
listenerObject = new Object();
listenerObject.change = function(eventObject) {	
	var temptext:String
	trace(my_cb.text);
	temptext = my_cb.textField.text;
	my_cb.close();
	my_cb.removeAll();	
    for (i = 0; i < datarray.length; i++) {
		trace(datarray[i].substr(0, temptext.length));
		if (datarray[i].substr(0, temptext.length) == temptext)  {
			my_cb.addItem(datarray[i], i);
	    }
    }
    trace(my_cb.text);   
    my_cb.open(); 
    my_cb.textField.text.setFocus();
	my_cb.textField.text = temptext;
}
my_cb.addEventListener("change", listenerObject)
Вот так выглядит часть основной программы связанная с импортом. Может тут каккой конфликт.
Код:
import mx.transitions.Tween;
import mx.transitions.easing.*;
import mx.controls.*; 
import TInterface;
import TMenu;
import TButton;
import TVendor;
import TVendorMask;
import TKey;
import TContentFile;
import TJavaList;
import TModel;
import TTypes;
import TCellular;
import TContent;
import TContentElement;
import TPayment;
import TTransaction;
import TSocketStatus;

Stage.scaleMode="exactFit";
fscommand("fullscreen", "true");
stop();
Mouse.hide();
Где классы начинающиеся с Т мои собственные.
__________________
< - just fly for fun - >

Старый 09.03.2007, 12:35
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Вся эта информация не поможет решить проблему в таком проекте, потому как вам лучше знать, что там происходит внутри, чем нам.

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

Старый 12.03.2007, 06:30
vgl вне форума Посмотреть профиль Отправить личное сообщение для vgl Найти все сообщения от vgl
  № 6  
Ответить с цитированием
vgl
 
Аватар для vgl

Регистрация: Mar 2006
Адрес: Kemerovo, Sibiria, Russia
Сообщений: 8
Цитата:
Сообщение от __etc
... значит проблема в ваших классах исключительно.
Ок. Похоже на то. Поскольку пример выложить врятли получится, то буду ковырять свои классы.
__________________
< - just fly for fun - >

Старый 12.03.2007, 14:03
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 7  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
Мне кажется проще написать свой комбобокс -))
это точно намного быстрее чем разбирать такой проект
да и удобнее
я, например, юзаю только свои компоненты. всегда можно дописать если чо.

Старый 12.03.2007, 16:09
vic_ вне форума Посмотреть профиль Отправить личное сообщение для vic_ Посетить домашнюю страницу vic_ Найти все сообщения от vic_
  № 8  
Ответить с цитированием
vic_
 
Аватар для vic_

Регистрация: Sep 2006
Адрес: Zaporozhye, Ukraine
Сообщений: 141
>Мне кажется проще написать свой комбобокс
это если один работаешь над проектом, а если работа коллективная, да этот комбобокс написан не тобой и заточен под какие то свои задачи, половины стандартных методов не имеет и аналогов к ним тоже, то что есть работает через ж, а дописать/переписать нельзя, потому что он уже скомпилирован в родительском клипе который не является твоей частью, да и по условиям задачи нельзя, а автор морозится и делает вид что письма не доходят...
Такой я вам скажу геморрой

Старый 12.03.2007, 20:00
MyXus вне форума Посмотреть профиль Отправить личное сообщение для MyXus Посетить домашнюю страницу MyXus Найти все сообщения от MyXus
  № 9  
Ответить с цитированием
MyXus
 
Аватар для MyXus

Регистрация: Mar 2001
Адрес: msk
Сообщений: 1,416
комбобокс не такой код чтобы потеряв контакт с одним флешером его нельзя было бы передать другому. Его писать то час от силы.

Старый 12.03.2007, 20:02
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Это будет хреновенький комбобокс тогда

Создать новую тему Ответ Часовой пояс GMT +4, время: 04:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 04:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.