Spanish ¿Porque me falla la carga del layout?

Ingeniero Cognitivo

Active Member
¿Porque cada vez que añado un acitivity, me falla el layout principal?.

java.lang.RuntimeException: java.lang.ClassCastException: java.lang.Class cann
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout(LayoutB
at anywheresoftware.b4a.objects.ActivityWrapper.LoadLayout(Activity
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.shell. Shell.r.unMethod(Shell.java:732)
at anywheresoftware.b4a.shell. Shell.aiseEventimpl(Shelljava: 351)
at anywheresoftware.b4a.shell. Shell.raiseEvent(Shell.java:255)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a. ShellBA.raiseEvent2(ShellBA.java: 144)
at b4a.example.main.afterFirstlayout(mainjava: 105)
at b4a.example.main.accessS000 (main.java: 17)
at b4a.example.mainSWaitForLayout.run(main.java:83)
at android.os.Handler.handleCallback(Handlerjava:789)
at android.os.Handler.dispatchMessage(Handlerjava:98)
at android.os.Looper.loop(Looper.java: 164)
at android.app.ActivityThread.main(ActivityThread.java:6938)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteSMethodAndArgsCaller.runZygote.j
at com.android.internal.os.Zygotelnit.main(Zygotelnit.java:1374)
Caused by:java.lang.ClassCastException: java.lang.Class cannot be cast to java.l
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(L
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper(Li
at anvwheresoftware.h4a.kevwnrd.l avoutRiuilder.lnall avnutil avnutR
 

Ingeniero Cognitivo

Active Member
He borrado todas las clases y variables y ya funciona el activity principal y por lo tanto el resto de lo que ha quedado de la aplicacion. Con esto aun no se cual ha sido el problema exacto pero al menos ya se que el problema ha sido una variable y no corrupcion de datos. Al menos ya se como corregirlo en caso de que no tenga una copia que funcione. El unico problema es que, en caso de que no tenga mas remedio que hacer esto, tardaria mucho tiempo en detectar el problema.
 

josejad

Expert
Licensed User
Longtime User
es obvio que esa instruccion no puede fallar
Sí que puede fallar.

Alguien me ha sugerido
Es que sin ver el código sólo se puede imaginar cosas...

Caused by:java.lang.ClassCastException: java.lang.Class cannot be cast to java.l
This error means that there is a global variable with the name of one of the views in this layout and its type is wrong
Hay algo declarado (probablemente una variable global) con el mismo nombre de una vista en tu layout, o con un tipo equivocado
 

Ingeniero Cognitivo

Active Member
Sí que puede fallar.


Es que sin ver el código sólo se puede imaginar cosas...



Hay algo declarado (probablemente una variable global) con el mismo nombre de una vista en tu layout, o con un tipo equivocado
¿Como puede fallar la primera instruccion si no hay error de sintaxis?.

Este es el codigo:

Activity.LoadLayout("Layout")
StartActivity (Principal)
 

TILogistic

Expert
Licensed User
Longtime User
Solo es una sugerencia:

use autocompletar para seleccionar y evitar errores de carga de nombres de layaut.

1616953576288.png
 

josejad

Expert
Licensed User
Longtime User
¿Y que crees que te he enviado?
Creo que nada... pero sinceramente, no sé si son diferencias en la manera de hablar, o si malinterpreto tus palabras...
Puede que seas un buen ingeniero cognitivo, pero creo que deberías aplicar en tus post un poco de “ingeniería social”...

Voy a contestar por ultima vez a este post, que creia solucionado por lo que comentabas en el hilo.

Puede haber un fallo al cargar un layout sin error de sintaxis, ya que sintacticamente puede estar bien, no hay errores en como has escrito las instrucciones, el layout existe, etc...
Pero al cargar el layout puede que falte algun fichero que hayas usado en él; puede que haya un error en el script del diseñador; pueden pasar muchas cosas, imposibles de detectar con dos lineas de código
Otra cosa que puede pasar es que hayas nombrado el propio layout o algún elemento o variable que tengas en el con una palabra reservada, o igual que alguna clase que tengas en el proyecto...
Parecía ser eso por dos cosas:
- Por el error que recibias:
java.lang.Class cannot be cast to java.l at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout
- y por tu comentario: “He borrado todas las clases y variables y ya funciona el activity principal”
 
Last edited:

Ingeniero Cognitivo

Active Member
Creo que nada... pero sinceramente, no sé si son diferencias en la manera de hablar, o si malinterpreto tus palabras...
Puede que seas un buen ingeniero cognitivo, pero creo que deberías aplicar en tus post un poco de “ingeniería social”...

Voy a contestar por ultima vez a este post, que creia solucionado por lo que comentabas en el hilo.

Puede haber un fallo al cargar un layout sin error de sintaxis, ya que sintacticamente puede estar bien, no hay errores en como has escrito las instrucciones, el layout existe, etc...
Pero al cargar el layout puede que falte algun fichero que hayas usado en él; puede que haya un error en el script del diseñador; pueden pasar muchas cosas, imposibles de detectar con dos lineas de código
Otra cosa que puede pasar es que hayas nombrado el propio layout o algún elemento o variable que tengas en el con una palabra reservada, o igual que alguna clase que tengas en el proyecto...
Parecía ser eso por dos cosas:
- Por el error que recibias:
java.lang.Class cannot be cast to java.l at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayoutHelper
at anywheresoftware.b4a.keywords.LayoutBuilder.loadLayout
- y por tu comentario: “He borrado todas las clases y variables y ya funciona el activity principal”

Te agradezco la ayuda que me has dado, que admitas que puede que el problema sea del compilador, ya que alguien me dijo que el error solo puede ser mio y que si b4a tiene algun fallo, jamas sera el que yo digo. Pero tengo varias copias que demuestran que yo no cometi el error.

Yo tengo mucha experiencia con un par de lenguajes antiguos y voy bastante avanzado con uno moderno y puedo detectar el fallo concreto con solo ver el error en los lenguajes con los que tengo mucha experiencia. En este caso, por supuesto que pueden ser muchas cosas excepto la sitaxis, eso es evidente, pero logicamente lo que necesitaba era saber donde esta el fallo exactamente, pero al no ser un error de sitaxis, ver el codigo entero, probablemente no te serviria para nada ya que el error solo hace referencia a una instruccion que no tiene ningun error.

Si, de momento funciona, pero en total ya he visto 2 tipos de fallos que me han impedido ejecutar la aplicacion, el que menciono aqui ya me ha ocurrido varias veces y ninguno relacionado con errores de sitaxis u otro de diseño, pero solo gracias a que encontre de casualidad una copia que funcionaba, la cual tenia un mes y por eso mi proyecto se retraso un mes, o cual ha sido un gran perjuicio para mi, por eso b4a ha pasado a ser mi lenguaje secundario. El problema es que a partir de ahora, cada vez que lo use lo hare con miedo y no tendre mas remedio que mantener elementos que no use y evitar borrarlos y hacer copias cada poco tiempo, perdiendo asi tiempo de programacion, pero lo prefiero para asegurarme de que la proxima vez que me de ese error, tener una copia funcional y sin demasiado retraso.

Disculpa las molestias.
 

Ingeniero Cognitivo

Active Member
Mi estimado José...

Tengo la ligera sospecha que el "Ingeniero Cognitivo" es una farsa...

Lo cual implica una perdida de tiempo.

Saludos,

Edgar
¿Puedo saber porque?. ¿Acaso crees que me he inventado el error?.

Uno de los objetivos de mi proyecto es mejorar la salud mental. Asi que por favor, no me prejuzgues.
 

josejad

Expert
Licensed User
Longtime User
Te agradezco la ayuda que me has dado
No hay de qué, para eso estamos.

que admitas que puede que el problema sea del compilador,
Me temo que me has malinterpretado, no he dicho que sea un problema del compilador, sino probablemente de tu código, pero sin ver el proyecto, no podemos saberlo. Si fuese un error del compilador, le pasaría a más gente, y las veces que se ha reportado el error, ha sido debido al nombre de algún elemento.

el error solo hace referencia a una instruccion que no tiene ningun error.
Repito, la instrucción no tiene error, pero esa instrucción ejecuta pasos que pueden tenerlos.

Si hay algún bug, Erel no tiene problema en corregirlo.

Lo unico que puedo decirte, es que me mandes tu app (una copia que falle) por privado, quitando los datos sensibles. O a Erel, pero no des por hecho que hay un fallo del compilador y no tuyo.

¿Puedo saber porque?
No puedo hablar por él, pero en lo que a mí respecta lo considero una pérdida de tiempo porque haces una pregunta, te responden, y varios dias después das una respuesta que no tiene nada que ver con lo que te han dicho, mezclas preguntas... y para colmo en tu forma de expresarte a veces da la sensación de falta de respeto.

saludos y suerte con el proyecto.
 
Last edited:

Ingeniero Cognitivo

Active Member
No hay de qué, para eso estamos.


Me temo que me has malinterpretado, no he dicho que sea un problema del compilador, sino probablemente de tu código, pero sin ver el proyecto, no podemos saberlo. Si fuese un error del compilador, le pasaría a más gente, y las veces que se ha reportado el error, ha sido debido al nombre de algún elemento.


Repito, la instrucción no tiene error, pero esa instrucción ejecuta pasos que pueden tenerlos.

Si hay algún bug, Erel no tiene problema en corregirlo.

Lo unico que puedo decirte, es que me mandes tu app (una copia que falle) por privado, quitando los datos sensibles. O a Erel, pero no des por hecho que hay un fallo del compilador y no tuyo.


No puedo hablar por él, pero en lo que a mí respecta lo considero una pérdida de tiempo porque haces una pregunta, te responden, y varios dias después das una respuesta que no tiene nada que ver con lo que te han dicho, mezclas preguntas... y para colomo en tu forma de expresarte a veces da la sensación de falta de respeto.

saludos y suerte con el proyecto.
¿Como se reporta un error?.
¿Como puedo mandarte el proyecto?.

Gracias
 

josejad

Expert
Licensed User
Longtime User
¿Como se reporta un error?.

En el hilo "Bugs & Whislist", seleccionando como prefijo "Bug?"
1617284492646.png


Probablemente Erel te pedirá que subas un proyecto que recree el bug.

¿Como puedo mandarte el proyecto?
Si no es un proyecto de B4XPages, en "Archivo->Exportar proyecto como Zip". Me lo puedes enviar como adjunto con un mensaje personal (PM)

Si dejas el ratón sobre mi nombre de perfil, pulsas en "Start conversation" y adjuntas el proyecto.

1617284672355.png


saludos,
 

Ingeniero Cognitivo

Active Member
En el hilo "Bugs & Whislist", seleccionando como prefijo "Bug?"
View attachment 110824

Probablemente Erel te pedirá que subas un proyecto que recree el bug.


Si no es un proyecto de B4XPages, en "Archivo->Exportar proyecto como Zip". Me lo puedes enviar como adjunto con un mensaje personal (PM)

Si dejas el ratón sobre mi nombre de perfil, pulsas en "Start conversation" y adjuntas el proyecto.

View attachment 110825

saludos,
No veo ese boton al poner el raton en tu nombre ni en tu perfil, solome sale seguir o ignorar.
 
Top