
Ejecutable de Firemonkey y Edit.Clear
#1
Escrito 05 septiembre 2013 - 08:10
creando un formulario sin mucho componente y un datamodule al generar el ejecutable me mide 28megas. he buscado un poco en la web pero la recomendación final es UPX (Compresor) la versión es XE4. Sera esto normal ya que no me imagino ya creando algo mas completo.
Y siempre en firemonkey al usar un Edit al momento de querer limpiar su contenido al momento de almacenar la información no tengo la propiedad clear lo que he utilizado es edit.text := '' existe alguno otra forma?
saludos
#2
Escrito 05 septiembre 2013 - 09:08
1 Form vacío y 1 Datamodule vacío, Build en DEBUG tamaño del EXE 19,413 KB
1 Form vacío y 1 Datamodule vacío, Build en RELEASE tamaño del EXE 4,935 KB
En cuanto a lo de Edit, nunca usé esa propiedad y no la veo por ningún lado.
Saludos
#3
Escrito 06 septiembre 2013 - 08:31
Al no estar disponible lo que hago es edit1.text := ''; igual me funciona pero será la mejor opción?
saludos
#4
Escrito 06 septiembre 2013 - 08:49
Primero que todo gracias al foro por la ayuda tan pronto a las consultas hechas. Con respecto a la propiedad clear en FM no aparece pero si esta disponible en Delphi. entonces que propiedad seria la mas recomendada para limpiarlos campos en un form?
Al no estar disponible lo que hago es edit1.text := ''; igual me funciona pero será la mejor opción?
saludos
Ya veo, el TEdit no tiene una propiedad Clear, pero al descender de TCustomEdit puede tomar la propiedad Clear que si está en ese objeto.
No tengo a la mano un Delphi con FMX, pero sería interesante saber de que objeto hereda sus propiedades.
En realidad la asignación de vacío es lo que yo he usado siempre, desconocia la propiedad Clear, pero viendo que es una propiedad del objeto padre me parece que pudiera llegar a ser mejor que la asignación.
Saludos
#5
Escrito 06 septiembre 2013 - 09:42
Si intentan buscarle una propiedad Clear al TEdit dudo que la encuentren. Clear es un método que está definido en la clase padre TCustomEdit de la cual desciende el TEdit.
Y que yo sepa no hay ningún impedimento a que se haga esto:
MiEdit.Clear;
siendo MiEdit un TEdit tradicional.

Ahora bien si resulta ser que en las nuevas versiones, tras la aparición de FireMonkey, ya no existe el método (lo cual me resultaría muy poco probable) es otro cantar.
Saludos,
#6
Escrito 06 septiembre 2013 - 11:20
He agregado Vcl.StdCtrls en el uses y ya tengo la propiedad Clear y ClearSelection
sin embargo al correr la aplicación da error en cada uno de los controles. Lo mejor será asignar vacío y listo.
Muchas gracias por su tiempo.
#7
Escrito 06 septiembre 2013 - 01:22
De nuevo gracias.
He agregado Vcl.StdCtrls en el uses y ya tengo la propiedad Clear y ClearSelection
sin embargo al correr la aplicación da error en cada uno de los controles. Lo mejor será asignar vacío y listo.
Muchas gracias por su tiempo.
Claro, porque estás usando VCL en lugar de FMX, ésto confirma que no existe la propiedad Clear en la unidad FMX.StdCtrls, aunque habría que ver si no está en otra unidad.
Recuerden que los FMX se han desarrollado basandose en los requerimientos de los dispositivos móviles, algunas propiedades han sido sacrificadas en el proceso, es decir, son los daños colaterales.
Saludos
#8
Escrito 11 septiembre 2013 - 02:24
Recién veo que no encuentras el método Clear.
No es heredado ni propio de TEdit en FMX y sí propio de la VCL
Prueba con:
Edit1.SelectAll;
Edit1.ClearSelection;
Si bien es indirecto es más claro para la lectura que la asignación del null text.

Recuerda que las propiedades no se comportan como métodos.
#9
Escrito 11 septiembre 2013 - 05:24
da el mismo resultado de limpiar el Tedit