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

Вернуться   Форум Flasher.ru > Flash > Общие вопросы о Flash (не затрагивающие ActionScript)

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
По умолчанию Как редактировать Warnings в FD?

Привет.
Можно ли как-нибудь это сделать - например исключить из Warnings определенные сообщения?

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

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

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

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Ну, например, если при инициализации переменной в теле класса не указать ее namespace, то FD ругнется:
Цитата:
Warning: var 'a' will be scoped to the default namespace: Main: internal. It will not be visible outside of this package.
И оборвет компиляцию. Если сразу еще раз нажать F5, то компил пройдет нормально. Вот этот warning - это хорошее предупреждение - его бы надо оставить. А вот например при таком:
Код:
var a:int;	
public function Main():void {
	a = 10;
}	
private function kill():void {
	a = null;
}
Цитата:
Warning: null used where a int value was expected.
Что очень сильно напрягает - было бы неплохо это исключить.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
В настройках проекта отключить "Show ActionScript Warning", но это очень плохая идея. Надо писать так, чтобы варнинги не возникали.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 05.11.2008, 14:15
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 5  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Не, как отключить - это понятно. Как редактировать? Меня всего одна ошибка напрягает (см. выше - когда приравниваю переменную к null). Т.к. в каждом классе есть метод, который "чистит" все переменные, то этот warning и вылезает постоянно.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
В флеш иде
Код:
var a:int = null;
trace (a); // 0
поэтому не надо null присваивать (это не as2) и не будет варнингов
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

Регистрация: Oct 2008
Адрес: Славянск-на-Кубани
Сообщений: 16
Отправить сообщение для Dizainoff с помощью ICQ
Я так полагаю, что Волгоградец хочет при удалении объекта данного класса, удалять и все его дочерние объекты и переменные. Объекты может быть и стоит а переменные, таких типов как int, я бы не трогал.
Цитата:
Цитата ил мануала ActionScript3
Ключевое слово delete во Flash используется для удаления определений переменных. Оно не удаляет объекты из памяти (это происходит за кулисами с помощью так называемого "сборщика мусора" /"Garbage Collector"/ ), а просто берет созданную вами переменную и избавляется от нее, делая ее недоступной и невидимой для итераторов (for..in циклы, и т.п.).

Внутренние механизмы Garbage Collector (GC для краткости), знают когда физически удалять объекты из памяти - когда больше нет переменных, ссылающихся на них. Так, например, если у вас есть две переменные A и B и они обе ссылаются на ObjectX, удаление переменной A не приведет к удалению сборщиком мусора ObjectX из памяти. Однако, если вы удалите обе переменные A и B, больше не будет ссылок на ObjectX и GC будет знать, что объект нуждается в удалении из памяти
Полный вариант (100 советов по AS3) http://www.knigka.info/2008/02/29/10...ov-po-as3.html
Если конечно речь идет об удалении объекта.
А если вам необходимо просто приравнять переменную к нулю, то лучше сделать так как вам посоветовал iNils a=0


Последний раз редактировалось Dizainoff; 05.11.2008 в 15:09.
Старый 05.11.2008, 15:08
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 8  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Dizainoff, да. Хотел полностью очищать память при удалении объекта - думал что GC сможет удалить переменные только когда они равны null. И не подумал, что для элементарных типов null оборачивается дефолтным значением. Оказывается GC уберет их вместе с ненужным объектом. Спасибо!

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Ищем в Flex SDK файл /frameworks/flex-config.xml у него в ветке <compiler> есть набор варнингов
Код:
<!-- Array.toString() format has changed. -->
<warn-array-tostring-changes>false</warn-array-tostring-changes>

<!-- Assignment within conditional. -->
<warn-assignment-within-conditional>true</warn-assignment-within-conditional>

<!-- Possibly invalid Array cast operation. -->
<warn-bad-array-cast>true</warn-bad-array-cast>

<!-- Non-Boolean value used where a Boolean value was expected. -->
<warn-bad-bool-assignment>true</warn-bad-bool-assignment>

<!-- Invalid Date cast operation. -->
<warn-bad-date-cast>true</warn-bad-date-cast>

<!-- Unknown method. -->
<warn-bad-es3-type-method>true</warn-bad-es3-type-method>

<!-- Unknown property. -->
<warn-bad-es3-type-prop>true</warn-bad-es3-type-prop>

<!-- Illogical comparison with NaN. Any comparison operation involving NaN will evaluate to false because NaN != NaN. -->
<warn-bad-nan-comparison>true</warn-bad-nan-comparison>

<!-- Impossible assignment to null. -->
<warn-bad-null-assignment>true</warn-bad-null-assignment>

<!-- Illogical comparison with null. -->
<warn-bad-null-comparison>true</warn-bad-null-comparison>

<!-- Illogical comparison with undefined. Only untyped variables (or variables of type *) can be undefined. -->
<warn-bad-undefined-comparison>true</warn-bad-undefined-comparison>

<!-- Boolean() with no arguments returns false in ActionScript 3.0. Boolean() returned undefined in ActionScript 2.0. -->
<warn-boolean-constructor-with-no-args>false</warn-boolean-constructor-with-no-args>

<!-- __resolve is no longer supported. -->
<warn-changes-in-resolve>false</warn-changes-in-resolve>

<!-- Class is sealed. It cannot have members added to it dynamically. -->
<warn-class-is-sealed>true</warn-class-is-sealed>

<!-- Constant not initialized. -->
<warn-const-not-initialized>true</warn-const-not-initialized>

<!-- Function used in new expression returns a value. Result will be what the -->
<!-- function returns, rather than a new instance of that function.           -->
<warn-constructor-returns-value>false</warn-constructor-returns-value>

<!-- EventHandler was not added as a listener. -->
<warn-deprecated-event-handler-error>false</warn-deprecated-event-handler-error>

<!-- Unsupported ActionScript 2.0 function. -->
<warn-deprecated-function-error>true</warn-deprecated-function-error>

<!-- Unsupported ActionScript 2.0 property. -->
<warn-deprecated-property-error>true</warn-deprecated-property-error>

<!-- More than one argument by the same name. -->
<warn-duplicate-argument-names>true</warn-duplicate-argument-names>

<!-- Duplicate variable definition -->
<warn-duplicate-variable-def>true</warn-duplicate-variable-def>

<!-- ActionScript 3.0 iterates over an object's properties within a "for x in target" statement in random order. -->
<warn-for-var-in-changes>false</warn-for-var-in-changes>

<!-- Importing a package by the same name as the current class will hide that class identifier in this scope. -->
<warn-import-hides-class>true</warn-import-hides-class>

<!-- Use of the instanceof operator. -->
<warn-instance-of-changes>true</warn-instance-of-changes>

<!-- Internal error in compiler. -->
<warn-internal-error>true</warn-internal-error>

<!-- _level is no longer supported. For more information, see the flash.display package. -->
<warn-level-not-supported>true</warn-level-not-supported>

<!-- Missing namespace declaration (e.g. variable is not defined to be public, private, etc.). -->
<warn-missing-namespace-decl>true</warn-missing-namespace-decl>

<!-- Negative value will become a large positive value when assigned to a uint data type. -->
<warn-negative-uint-literal>true</warn-negative-uint-literal>

<!-- Missing constructor. -->
<warn-no-constructor>false</warn-no-constructor>

<!-- The super() statement was not called within the constructor. -->
<warn-no-explicit-super-call-in-constructor>false</warn-no-explicit-super-call-in-constructor>

<!-- Missing type declaration. -->
<warn-no-type-decl>true</warn-no-type-decl>

<!-- In ActionScript 3.0, white space is ignored and '' returns 0. Number() returns -->
<!-- NaN in ActionScript 2.0 when the parameter is '' or contains white space.      -->
<warn-number-from-string-changes>false</warn-number-from-string-changes>

<!-- Change in scoping for the this keyword. Class methods extracted from an  -->
<!-- instance of a class will always resolve this back to that instance. In   -->
<!-- ActionScript 2.0 this is looked up dynamically based on where the method -->
<!-- is invoked from.                                                         -->
<warn-scoping-change-in-this>false</warn-scoping-change-in-this>

<!-- Inefficient use of += on a TextField.-->
<warn-slow-text-field-addition>true</warn-slow-text-field-addition>

<!-- Possible missing parentheses. -->
<warn-unlikely-function-value>true</warn-unlikely-function-value>

<!-- Possible usage of the ActionScript 2.0 XML class. -->
<warn-xml-class-has-changed>false</warn-xml-class-has-changed>
Для Flash IDE можно также отредактировать в папке Program Files/Adobe/Adobe Flash CS3/en/Configuration/ActionScript/EnabledWarnings.xml
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

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

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


 


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


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