Hay dos errores que he cometido varias veces cuando prototipo para SD (ios, android, bb): le erro de layout y me olvido del caché. La ultima vez me costaron algo de enojo y media hora de trabajo, así que, aunque son medio obvios, los escribo acá para no olvidarlos y por si le aporta a alguien.
En Genexus Evolution 2 se pueden desarrollar aplicaciones para diferentes dispositivos (Teléfonos y Tablets), diferentes S.O. (android, IOS, BB), etc.
En este sentido se puede usar un layout comun que funcione sirva para todos o se pueden tener multiples layout (form), de modo de ajustar el mismo para cada plataforma (dispositivo, orientación, S.O, etc). Puede leer más aqui
En resumen: hay un layout "any platform" que aplica a cualquier plataforma que NO tenga un layout especifico definido. Así pues, si se está trabajando, por ejemplo, con Android y se tiene un layout especifico para el mismo, las modificaciones al "any platform" no aplicarán.
Moraleja: siempre revise que esté editando el layout correcto
Tip: si aparece el nombre del layout en "negritas" es que hay un layout definido para esa plataforma. En esta imagen se muestra que hay un layout especifico para Android y para IOS, no para BB:
El caching es una feature notable. Ahora, cuando se está "prototipando" puede jugar malas pasadas porque se basa en "si los datos de la DB no cambian no se ejecuta el Data Provider que los retorna".
De este modo, si se modifica código que termina siendo un DP y los datos no cambiaron, ese DP no se ejecuta y por ende las modificaciones al código no se toman en cuenta.
En mi caso estaba cambiando la asignación a una variable, algo como:
Event Load
&ThumbVideoName=ArtistaVideo.VideoName
EndEvent
lo ejecutaba y la variable no se cargaba con el valor correcto. El problema era que como no había modificado datos, el DP no era necesario ejecutarlo y la asignación no se producía.
Moraleja: si se está prototipando considere el caching, eventualmente apaguelo durante la prototipación.
Seleccionar el layout correcto
En Genexus Evolution 2 se pueden desarrollar aplicaciones para diferentes dispositivos (Teléfonos y Tablets), diferentes S.O. (android, IOS, BB), etc.
En este sentido se puede usar un layout comun que funcione sirva para todos o se pueden tener multiples layout (form), de modo de ajustar el mismo para cada plataforma (dispositivo, orientación, S.O, etc). Puede leer más aqui
En resumen: hay un layout "any platform" que aplica a cualquier plataforma que NO tenga un layout especifico definido. Así pues, si se está trabajando, por ejemplo, con Android y se tiene un layout especifico para el mismo, las modificaciones al "any platform" no aplicarán.
Moraleja: siempre revise que esté editando el layout correcto
Tip: si aparece el nombre del layout en "negritas" es que hay un layout definido para esa plataforma. En esta imagen se muestra que hay un layout especifico para Android y para IOS, no para BB:
Recuerde el caching
El caching es una feature notable. Ahora, cuando se está "prototipando" puede jugar malas pasadas porque se basa en "si los datos de la DB no cambian no se ejecuta el Data Provider que los retorna".
De este modo, si se modifica código que termina siendo un DP y los datos no cambiaron, ese DP no se ejecuta y por ende las modificaciones al código no se toman en cuenta.
En mi caso estaba cambiando la asignación a una variable, algo como:
Event Load
&ThumbVideoName=ArtistaVideo.VideoName
EndEvent
lo ejecutaba y la variable no se cargaba con el valor correcto. El problema era que como no había modificado datos, el DP no era necesario ejecutarlo y la asignación no se producía.
Moraleja: si se está prototipando considere el caching, eventualmente apaguelo durante la prototipación.
Comentarios
Publicar un comentario