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

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

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

Регистрация: Sep 2007
Сообщений: 64
По умолчанию Проблемы с loadVars();

Код:
var Text_lv:LoadVars = new LoadVars();
Text_lv.onData = function(src:String) {
	if (src != undefined) {
		_root.Acc.info.TA.text = src;
	}
};
Text_lv.load("Data/Standart/2/1.txt");
Вот такой нехитрый код, прям как из хелпа. Проблема в том что не загружается текст в компонент TextArea.
Разъясню таргет лоадварса: значит в руте создается Accordion, в этом аккрдионе создаются 3 чайлда, в первом чайлде с ID'шником "info" создается TextArea с ID'шником "TA", в этот TA должен загрузиться текст из txt'шки, но не грузится, хотя иногда этот текст грузится, но в одтельных случаях, на работе комп тормозной, там иногда срабатывает. Думаю что загрузка происходит раньше чем создается компонент на сцене. Хотя это простая догадка...
Таким же способом грузится без проблем от туда же текст в уже созданном TextArea компоненте еще до компиляции, т.е. вручную помещенном на сцену.
И еще одна проблема, тоже связанная с этой загрузкой. В случает когда текст грузится в уже готовый, помещенный вручную TextArea на сцену, текст автоматически выравнимается по левому краю и весь виден на этом "ТА", однако в программно созданный "ТА", если и повезет и текст загрузится, то он идет в одну строку и не разбивается на строки и прочитать его можно если начать мышкой его выделять и как бы выделением "двигать".
Извиняюсь за многобуквенность.
Спасибо за помощь!

Старый 22.10.2007, 22:22
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
пип-пип-пип компоненты макромедии пип-пип-пип, и какой пип-пип-пип их только и каим пиииииип местом делал %)
Возможно, твой лоадварс загружается раньше, чем инициализируется этот самый компонент. Самое лучее решение - не пользоваться им никогда, решение похуже - сначала проверить, скажем, в энтерфрейме, а инициализировался ли этот пип-пип компонент, а потом уже в него что-то грузить =)
__________________
Hell is the possibility of sanity

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

Регистрация: Sep 2007
Сообщений: 64
Если и косяк заключается в неуспевании загрузки компонента, то это не вина компонента, а скорее всего компилятора.
Ну может кто нибудь поможет? Может setIntrval как то можно использовать?

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

Регистрация: Jul 2006
Адрес: Земля>Россия>Вологда
Сообщений: 3,056
Отправить сообщение для CorC с помощью ICQ Отправить сообщение для CorC с помощью MSN Отправить сообщение для CorC с помощью Skype™
Я что-то с этим чудом не сталкивался Попробуйте создавать ТекстФилд, а не ТекстАреа. setInterval тоже можно.
__________________
"We Are The Champions My Friends!" Queen

Старый 23.10.2007, 11:17
_ViPeR_ вне форума Посмотреть профиль Отправить личное сообщение для _ViPeR_ Найти все сообщения от _ViPeR_
  № 5  
Ответить с цитированием
_ViPeR_

Регистрация: Sep 2007
Сообщений: 64
С тексфилдом та же беда

Старый 23.10.2007, 13:31
son_of_war вне форума Посмотреть профиль Отправить личное сообщение для son_of_war Найти все сообщения от son_of_war
  № 6  
Ответить с цитированием
son_of_war

Регистрация: Mar 2006
Сообщений: 125
Отправить сообщение для son_of_war с помощью ICQ
кидай сырец - поглядим

Старый 23.10.2007, 19:47
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 7  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Цитата:
Сообщение от _ViPeR_
Если и косяк заключается в неуспевании загрузки компонента, то это не вина компонента, а скорее всего компилятора.
Ну может кто нибудь поможет? Может setIntrval как то можно использовать?
Не, в данном конкретном случае пип-пип компонент, ну, так он написан коряво. Создаешь ты его, а к свойствам сразу обратится не можешь - ибо половина компонента (восновном связанная с графикой) рисуется/создается в энтерфрейме на следующем кадре... а текстэриа содержит в себе еще 1 вложенный компонент - скроллер, вобщем, муть.

Но если и в текстфилд не выводится, тогда проблема не в этом...
__________________
Hell is the possibility of sanity

Старый 24.10.2007, 07:56
_ViPeR_ вне форума Посмотреть профиль Отправить личное сообщение для _ViPeR_ Найти все сообщения от _ViPeR_
  № 8  
Ответить с цитированием
_ViPeR_

Регистрация: Sep 2007
Сообщений: 64
Кинуть весь проект не смогу, тяжелый он для моей дорогой внешки (15мб)
Кину просто код фрейма в котором эта беда.
Код:
stop();
System.useCodepage = true;
fscommand("showmenu", "false");
import mx.controls.*;
import mx.containers.*;
import mx.controls.gridclasses.DataGridColumn;
#include "AS/DscProvider.as"
#include "AS/Styles.as"
#include "AS/BtnFun.as"
#include "AS/Tree3.as"
function create_Acc():Void {
	_root.createClassObject(Accordion, "Acc", 3, {_x:310, _y:125});
	var material = Acc.createChild(mx.core.View, "mat", {label:"Материалы к дисциплине"});
	var info = Acc.createChild(mx.core.View, "inf", {label:" Информация о дисциплине"});
	var autor = Acc.createChild(mx.core.View, "aut", {label:" Авторы"});
	Acc.setStyle("backgroundColor", 0x43AB38);
	Acc.setSize(_root.width-324, _root.height-168);
	material.createClassObject(DataGrid, "Dg", 200, {_x:5, _y:5});
	material.Dg.setSize(Acc.width-10, 250);
	var first_dgc:DataGridColumn = new DataGridColumn("first");
	first_dgc.headerText = "  Авторы";
	first_dgc.width = Acc.width*0.4;
	material.Dg.addColumn(first_dgc);
	var second_dgc:DataGridColumn = new DataGridColumn("second");
	second_dgc.headerText = "  Дисциплина";
	second_dgc.width = Acc.width*0.4;
	var third_dgc:DataGridColumn = new DataGridColumn("third");
	third_dgc.headerText = "  Формат";
	third_dgc.width = Acc.width*0.2;
	material.Dg.addColumn(second_dgc);
	material.Dg.addColumn(third_dgc);
	material.Dg.setStyle("borderStyle", "alert");
	material.Dg.setStyle("backgroundColor", 0xEEEEEE);
	material.Dg.dataProvider = [{first:"Высотова И.Е., Гриднева Т.Г.", second:"Английский язык", third:"Acrobat Reader"}, {first:"Батурина О.А., Гладких В.Н.", second:"Немецкий язык", third:"Acrobat Reader"}];
	info.createTextField("TA", 0, 5, 5, Acc.width-10, Acc._height-10);
	info.TA.border=true;
	info.TA.borderColor=0x43AB38;
	info.TA.background=true;
	info.TA.backgroundColor=0xEEEEEE;
	info.TA.editable = false;
	info.TA.wordWrap = true;
	info.TA.html = true;
	var _DataGrid = material.Dg;
	_DataGrid.sortableColumns = false;
	var DgListener:Object = new Object();
	DgListener.change = function(evt:Object) {
		var Ind = evt.target.selectedIndex;
		if (Ind == 0) {
			getURL("Data/Dsc/Disciplines/Eng.pdf");
		}
		if (Ind == 1) {
			getURL("Data/Dsc/Disciplines/Deu.pdf");
		}
	};
	_DataGrid.addEventListener("change", DgListener);
}
create_Acc();
var Text_lv:LoadVars = new LoadVars();
Text_lv.onData = function(src:String) {
	if (src != undefined) {
		_root.Acc.info.TA.text = src;
	}
};
Text_lv.load("Data/Standart/2/1.txt");

Старый 24.10.2007, 08:42
alexcon314 вне форума Посмотреть профиль Отправить личное сообщение для alexcon314 Найти все сообщения от alexcon314
  № 9  
Ответить с цитированием
alexcon314
listener

модератор форума
Регистрация: Jun 2006
Сообщений: 3,260
Записей в блоге: 28
Отправить сообщение для alexcon314 с помощью ICQ
проблема в правильном пути к вашему текстфилду
Код:
stop();
System.useCodepage = true;
fscommand("showmenu", "false");
import mx.controls.*;
import mx.containers.*;
import mx.controls.gridclasses.DataGridColumn;
#include "AS/DscProvider.as"
#include "AS/Styles.as"
#include "AS/BtnFun.as"
#include "AS/Tree3.as"
function create_Acc():Void {
	_root.createClassObject(Accordion, "Acc", 3, {_x:310, _y:125});
	var material = Acc.createChild(mx.core.View, "mat", {label:"Материалы к дисциплине"});
	var info = Acc.createChild(mx.core.View, "inf", {label:" Информация о дисциплине"});
	var autor = Acc.createChild(mx.core.View, "aut", {label:" Авторы"});
	Acc.setStyle("backgroundColor", 0x43AB38);
	Acc.setSize(_root.width - 324, _root.height - 168);
	material.createClassObject(DataGrid, "Dg", 200, {_x:5, _y:5});
	material.Dg.setSize(Acc.width - 10, 250);
	var first_dgc:DataGridColumn = new DataGridColumn("first");
	first_dgc.headerText = "  Авторы";
	first_dgc.width = Acc.width * 0.4;
	material.Dg.addColumn(first_dgc);
	var second_dgc:DataGridColumn = new DataGridColumn("second");
	second_dgc.headerText = "  Дисциплина";
	second_dgc.width = Acc.width * 0.4;
	var third_dgc:DataGridColumn = new DataGridColumn("third");
	third_dgc.headerText = "  Формат";
	third_dgc.width = Acc.width * 0.2;
	material.Dg.addColumn(second_dgc);
	material.Dg.addColumn(third_dgc);
	material.Dg.setStyle("borderStyle", "alert");
	material.Dg.setStyle("backgroundColor", 0xEEEEEE);
	material.Dg.dataProvider = [{first:"Высотова И.Е., Гриднева Т.Г.", second:"Английский язык", third:"Acrobat Reader"}, {first:"Батурина О.А., Гладких В.Н.", second:"Немецкий язык", third:"Acrobat Reader"}];
	TA = info.createTextField("TA", 0, 5, 5, Acc.width - 10, Acc._height - 10);
	TA.border = true;
	TA.borderColor = 0x43AB38;
	TA.background = true;
	TA.backgroundColor = 0xEEEEEE;
	TA.editable = false;
	TA.wordWrap = true;
	TA.html = true;
	var _DataGrid = material.Dg;
	_DataGrid.sortableColumns = false;
	var DgListener:Object = new Object();
	DgListener.change = function(evt:Object) {
		var Ind = evt.target.selectedIndex;
		if (Ind == 0) {
			getURL("Data/Dsc/Disciplines/Eng.pdf");
		}
		if (Ind == 1) {
			getURL("Data/Dsc/Disciplines/Deu.pdf");
		}
	};
	_DataGrid.addEventListener("change", DgListener);
}
create_Acc();
var Text_lv:LoadVars = new LoadVars();
Text_lv.onData = function(src:String) {
	if (src != undefined) {
		TA.htmlText = src;
	}
};
Text_lv.load("Data/Standart/2/1.txt");
если не устраивает такой подход можете поэкспериментировать с путями самостоятельно


Последний раз редактировалось alexcon314; 24.10.2007 в 08:54.
Старый 24.10.2007, 10:15
_ViPeR_ вне форума Посмотреть профиль Отправить личное сообщение для _ViPeR_ Найти все сообщения от _ViPeR_
  № 10  
Ответить с цитированием
_ViPeR_

Регистрация: Sep 2007
Сообщений: 64
alexcon314, спасибо, работает.
Только вот я не могу никак понять разницу, в Вашем примере просто создается ссылка на ТА и по этой ссылке обращаемся к филду. В моем - все напрямую по абсолютным путям, вроде пути рабочие, если и бакгроунды и бордеры устанавливались, а лоадварс не работал...

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

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

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


 


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


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