Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Desarrollo en Delphi para Android (https://www.clubdelphi.com/foros/forumdisplay.php?f=57)
-   -   Eliminar componente de pantalla (https://www.clubdelphi.com/foros/showthread.php?t=96772)

Arturo.Molina 04-07-2024 12:13:00

Eliminar componente de pantalla
 
Hola a todos,
hace mucho tiempo que dejé de usar Delphi y me pasé a programar en Lazarus sobre Windows.

Me han pedido que desarrolle una app para Android y, dado que desde Lazarus es bastante complicado hacerlo, he decidido darle una oportunidad a Delphi, así que he descargado Delphi 11 Community para ir haciendo algunas pruebas y me he encontrado con algunas pegas que, dada mi total ignorancia al respecto, me hacen dudar de mi capacidad.

Estoy usando para ir haciendo las pruebas un terminal Oppo Reno4 conectado al PC con Windows 10.

La primera pega es que no consigo colocar los componentes en el lugar que deseo si no lo hago "a mano", con lo que, imagino, si cambio de terminal al desplegar la app, no se verán donde deberían estar. No encuentro la forma de colocarlos ¿Cómo se gestiona el layout en Delphi?

La segunda pega es que, después de colocar un componente en la pantalla, al intentar eliminarlo me salta el error "Selection contains a component, imgBoton, introduced in an ancestor and cannot be deleted." y no me deja hacerlo.

Como veréis son dudas bastante básicas, así que lo último es ¿Dónde puedo encontrar información para desarrollar una app Android sobre Delphi, a ser posible en español?

Gracias

Neftali [Germán.Estévez] 04-07-2024 14:18:20

Cita:

Empezado por Arturo.Molina (Mensaje 556555)
La primera pega es que no consigo colocar los componentes en el lugar que deseo si no lo hago "a mano", con lo que, imagino, si cambio de terminal al desplegar la app, no se verán donde deberían estar. No encuentro la forma de colocarlos ¿Cómo se gestiona el layout en Delphi?


Si vas a usar un sólo terminal (que no suele ser lo habitual), la idea es diseñar directamente para esa pantalla.
Si vas a trabajar sobre diferentes tamaños, diseñas un "Layout básico" y luego puedes ajustar para diferentes resoluciones. Por ejemplo puedes diseñar el Layout básico y luego hacer ajustes para un móvil de 6" y una tablet de 10"

En ejecución el programa se ajustará automáticamente a la resolución que más se ajuste a alguna de las diseñadas.


En el IDE tienes algo como esto:




Puedes añadir más elementos a esa lista, si los necesitas.

Neftali [Germán.Estévez] 04-07-2024 14:21:09

Cita:

Empezado por Arturo.Molina (Mensaje 556555)
La segunda pega es que, después de colocar un componente en la pantalla, al intentar eliminarlo me salta el error "Selection contains a component, imgBoton, introduced in an ancestor and cannot be deleted." y no me deja hacerlo.


Lo habitual cuando aparece ese error es que tienes clases derivadas de esta forma:

Código Delphi [-]
ClaseA = class

...


ClaseB = class(ClaseA)
...

Si el componente los has definido en la ClaseA (que puede ser un formulario) e intentas borrarlo de un formulario de la ClaseB, te dice que está en la "clase padre". No puedes borrarlo.

Arturo.Molina 05-07-2024 07:35:31

Cita:

Empezado por Osorio (Mensaje 499830)
Hola.

Este caso me sucedio hace unas semanas mientras estaba probando este tema del desarrollo para android (aun no hago nada que pueda decir: es util) y estuve a punto de abrir un hilo con el tema.

Mas tarde descubri lo siguiente.

Al crear una aplicacion multidispositivo se puede visualizar el fomulario Master y tengo la opcion de personalizar el formulario de acuerdo al dispositivo donde voy a utilizar la aplicacion. Pues resulta que para poder eliminar componentes debes estar en la vista master. Si estas en la vista de otro dispositivo aparece el error.

El motivo? bien explicado por Neftali


Gracias a Osorio he encontrado la respuesta a la eliminación de componentes en diseño.

Respecto a los tamaños de pantalla he tenido que releer la documentación oficial varias veces para entender un poco como funciona, aunque aún no lo tengo del todo claro :o , seguiré haciendo pruebas...

jhonalone 10-07-2024 16:54:11

1 Archivos Adjunto(s)
Hola, Arturo.
A mí me funciona esto bastante bien.
Si tienes varios formularios, fija el ClientHeight y el ClientWidth EL MISMO PARA TODOS.
Y repite el mismo esquema Form/Rectangle/ScaledLayout/Componentes.
https://www.clubdelphi.com/foros/att...1&d=1720622976
No sé si la imagen se verá correctamente, he tenido que reducirla para poder subirla al Club.
Un Saludo.


La franja horaria es GMT +2. Ahora son las 09:29:28.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi