2012-01-03 11 views
5

Mam wiele dziwnych informacji w moim projekcie w programie Flash Builder, dlaczego?Flash Builder 4.6 issue: Dostęp do niezdefiniowanej właściwości - czyszczenie jej nie jest odpowiedzią

„Type nie został znaleziony lub nie był kompilacji Stała czasowa” i „Dostęp do niezdefiniowanej właściwości”, „Zadzwoń do ewentualnie niezdefiniowanej metody”

Kiedy idę do tych klas i zrobić miejsce „” i zapisać, klasa parrent jest ok, czyszczenie nie pomaga przez długi czas.

Na czym polega problem?

kodowej przykład:

import utils.DbUtils; 
.... 
.... 
public function afterDbInit():void{ 
       personsCollection = DbUtils.getAllObjects(); 
       calendarViewId.loadDefaultCalendar(); 
      } 

flash-builder-issue

ale jej nie problem z kodu, Flash Builder kwestia, kiedy znalazłem DbUtils Klasa File, a opne go, wykonane jedno miejsce więcej i zapisać, problem zniknął.

Projekt kompiluje, ale nie mogę użyć Ctrl + LPM, aby przejść do wybranego pliku klasy, kompilator robi widział

personsCollection = DbUtils .getAllObjects();

ale po kilku seriach debbuggging ta ikona exlamation, a pomarańczowa kropka pojawi się ponownie


<fx:Script> 
     <![CDATA[ 
      import database.DBConnection; 
      import database.Database; 
      import database.DatabaseEvent; 
      import database.DatabaseResponder; 

mam wszystko

+0

kodu proszę ... –

+0

Zadzwoń do niezdefiniowanej metody - ewentualnie innej dziwnej wiadomości – mihau

+0

Czy kod z problemem w bibliotece lub wywołaniem kodu w bibliotece? –

Odpowiedz

-1

Nie importowany typ DatabaseEvent importu. Na komputerze z systemem Windows skrót Ctrl + Shift + O powinien organizować importowanie.

+0

cały przywóz są ok \t \t mihau

+0

Upewnij się, że zdefiniowano 'database.DatabaseEvent' –

+0

Wszystko jest zdefiniowane - Flash Builder po prostu zwariował. Czasami muszę zmienić nazwę w klasie na przykład - DbUtils -> na DbUtilX - i zmienić go we wszystkich projektach - po tym jak problemy znikną, dlaczego The F ***? – mihau

0

Jeśli DataBaseEvent jest klasą zewnętrzną, a nie związaną z Flex, można spróbować odwoływać się do niej według jej pełnej nazwy.

Na przykład, mam ten sam błąd z niestandardowych realizacji JSON (pakiet vk.api.serialization.json)

musiałem zmienić wszystkie linie jak

JSON.encode(data) 

do

vk.api.serialization.json.JSON.encode(data) 

Pomogło.

1

Miałem ten sam problem z klasą, która zawiera publiczną zmienną. Pojawił się jako "niezdefiniowana właściwość" podczas próby uzyskania dostępu do właściwości, mimo że kod działa dobrze. Szybka korekta/Assist (Ctrl + 1) poprosiła o utworzenie właściwości, więc ja w kartach i naciśnięciu klawisza enter, aby zakończyć kod, pomóż mi z tym. Edytor usunął ostrzeżenie, ale nie wprowadził żadnych zmian w mojej klasie.

Powiedziałbym, że to dziwny błąd i po prostu chciałem pozwolić każdemu, kto dostanie ten problem, który Quick Fix/Assist może pomóc z tym problemem.

2

Znalazłem coś interesującego w moich ostrzeżeniach "Dostęp do niezdefiniowanej własności", które mogą pomóc komuś.

Pracowałem nad modułem (ofcMtc.mxml i ofcMtc.as), o których później zdecydowałem, że nie spodobał mi się projekt. Zmieniono więc nazwę pliku mxml i skryptu akcji na inną, aby zaoszczędzić na pracy (ofcMtcOLD.mxml i ofcMtcOLD.as).

Następnie ponownie utworzyłem ten sam moduł, używając oryginalnych nazw plików zarówno dla mxml, jak i skryptu akcji.

Pamiętaj, że wersja OLD nadal zawierała linię kodu w mxml wiążącą oryginalną nazwę pliku skryptu akcji (mx: script source = "ofcMtc.as") - i to było zbierane w kompilacji - powodując pojawienie się ostrzeżeń w mojej nowej wersji.

Po usunięciu kodu skryptu mx: ze starego pliku mxml - ostrzeżenia zniknęły w nowej wersji.

Mam nadzieję, że to komuś pomaga.

0

Podjęto także podejście do określenia pełnej, kwalifikowanej nazwy klasy.

Zatem mogę zmienić definicję klasy od

public class NumberInputBase extends TextInput

do

public class NumberInputBase extends mx.controls.TextInput