2012-01-03 23 views
5

Tengo mucha información extraña en mi proyecto en Flash Builder, ¿por qué?Problema de Flash Builder 4.6: Acceso a la propiedad indefinida - limpiar no es la respuesta

"Type no se ha encontrado o no era una constante en tiempo de compilación" y "El acceso a la propiedad no definida", "Llamar a un método posiblemente indefinido"

Cuando voy a las clases y hacer espacio "" y guardar, clase parrent está bien, limpieza no ayuda durante mucho tiempo.

¿Cuál es el problema?

código ejemplo:

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

flash-builder-issue

pero no es un problema con el código, Flash Builder problema, cuando me encontré dbUtils archivo de clase, y opne él, hizo un espacio más y ahorrar, problema ido.

Proyecto está recopilando pero no puede utilizar las teclas Ctrl + lpm para ir al archivo de clase seleccionada, no logra compilador visto

personsCollection = dbUtils .getAllObjects();

pero después de algunas carreras debbuggging, este icono exlamation, y punto naranja aparecer de nuevo


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

tengo todas las importaciones allí

+0

código por favor ... –

+0

llamada a un método posiblemente indefinido - otro mensaje extraño – mihau

+0

Es el código con un problema en una biblioteca, o un código de llamada en una biblioteca? –

Respuesta

-1

no ha importado el tipo DatabaseEvent. En una PC con Windows, Ctrl + Shift + O debe organizar sus importaciones.

+0

todas las importaciones están bien \t \t mihau

+0

Asegúrese de que 'database.DatabaseEvent' se haya definido –

+0

Todo está definido: Flash Builder se vuelve loco. A veces solo necesito cambiar el nombre en la clase por el ejemplo - DbUtils -> a DbUtilX - y cambiarlo en todos los proyectos - después de que desaparecieron los problemas, ¿Por qué F ***? – mihau

0

Si DataBaseEvent es una clase externa, no la que viene con Flex, puede intentar hacer referencia a ella por su nombre completo.

Por ejemplo, me dieron el mismo error con la implementación personalizada de JSON (vk.api.serialization.json paquete)

que tenía que cambiar todas las líneas como

JSON.encode(data) 

a

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

Ayudó.

1

Tuve el mismo problema con una clase que contiene una variable pública. Apareció como "propiedad indefinida" al intentar acceder a la propiedad aunque el código funciona bien. La solución/asistencia rápida (Ctrl + 1) solicitó la creación de la propiedad, por lo que tabulé y presioné enter para que el código de finalización me ayudara con eso. El editor eliminó la advertencia, pero no realizó cambios en mi clase.

Yo diría que esto es un error extraño, y simplemente quería dejar que cualquier otra persona que tenga este problema que la Solución/Ayuda rápida realmente pueda ayudar con este problema.

2

Encontré algo interesante sobre mis advertencias de "Acceso a la propiedad indefinida" que podrían ayudar a alguien.

Estaba trabajando en un módulo (ofcMtc.mxml y ofcMtc.as) de los cuales luego decidí que no me gustaba el diseño. Así que cambié el nombre de los archivos de secuencia de comandos mxml y de acción a un nombre diferente para guardar el trabajo (ofcMtcOLD.mxml y ofcMtcOLD.as).

Luego recreé ese mismo módulo usando los nombres de archivo originales para mxml y script de acción.

Ahora, tenga en cuenta que la versión VIEJA aún tenía una línea de código en el mxml asociando el nombre del archivo de la secuencia de comandos original (mx: script source = "ofcMtc.as") y estaba recogiendo en la compilación haciendo que las advertencias aparezcan en mi nueva versión.

Al eliminar el código mx: script del archivo mxml OLD, las advertencias desaparecieron en la nueva versión.

Espero que esto ayude a alguien.

0

El enfoque para especificar el nombre completo de la clase calificada también funcionó para mí.

Por lo tanto, puedo cambiar la definición de clase de

public class NumberInputBase extends TextInput

a

public class NumberInputBase extends mx.controls.TextInput

Cuestiones relacionadas