FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Comportamiento insólito de los controles
Hola a todos: Me estoy volviendo loco. Tengo un formulario en el que no puedo eliminar el contenido mediante código de cualquier componente capaz de recoger información (he hecho las pruebas con un edit, un combobox y un memo).
Voy a explicarlo mejor: pongo un edit en el formulario, elimino su texto durante el diseño, ejecuto la aplicación y me aparece en ese edit el nombre del proyecto, sin la extensión ni nada. Intento eliminar mediante código en tiempo de ejecución el texto y ni flores: vuelve a aparecer el nombre del proyecto. En cambio, le digo que varíe el contenido del texto (por ejemplo, que escriba "Hola") y ¡lo hace! Eso sí: si elimino el contenido del edit con el teclado, se queda vacío y no hace nada. ¿Alguien tiene idea de por qué pasa eso? Gracias por adelantado. PD: Ya he solucionado el problema. Lo hecho mediante el código TMemo.Text=#0. No me parece muy ortodoxa la solución, pero me sirve. De todas formas, si alguien supiera qué ha ocurrido, le agradecería que lo explicara. Un saludo a todos. Última edición por Tortuguica fecha: 09-08-2011 a las 20:08:40. Razón: Porque acabo de solucionar el problema |
#2
|
||||
|
||||
Hola Tortuguica.
¿ Con que versión de Delphi te está sucediendo eso ? Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Hola, Ecfisa. Con Delphi RAD Studio 2010
|
#4
|
|||
|
|||
Es más, acabo de hacer un formulario totalmente distinto y, al ejecutar la aplicación, todos los memos de ese formulario han insertado al principio el nombre del proyecto. ¿No es rarísimo? Un saludo.
|
#5
|
|||
|
|||
Acabo de descubrir una cosa: no es el nombre del proyecto, sino el nombre de la memoria flash que utilizo como código de acceso a la aplicación. Antes lo he confundido porque tanto la unidad como el proyecto se llaman igual. ¿Te sirve de algo la información?
|
#6
|
||||
|
||||
Yo estoy usando tambien Delphi 2010 pero no tengo ese problema
Inclusive he hecho una prueba usando un Memo y un Edit tal como tu indicas y todo ha ido bien... Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#7
|
|||
|
|||
No, si a mí no me había pasado nunca. Tiene que ver con la memoria flash, seguro. Saludos.
|
#8
|
||||
|
||||
Hola Tortuguica.
No es exáctamente lo mismo pero en este enlace comentan algo parecido con Delphi 2010. Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#9
|
||||
|
||||
Cita:
Roberto, me alegro mucho de verte otra vez en las pistas Hacía un buen rato que no entrabas (y se te extrañaba) Un afectuoso saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#10
|
||||
|
||||
Cita:
Un abrazo fraternal....
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
|
#11
|
|||
|
|||
Gracias a todos por vuestra ayuda y un saludo.
|
#12
|
||||
|
||||
Estaría bien que puesieras el código que utilizas o que subieras un proyecto de ejemplo.
NOTA: Lo de la "memoria flash" no veo a qué viene...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#13
|
|||
|
|||
Hola. Pues a mi me pasa exactamente igual y no he conseguido encontrar el problema. Pues si inicio un proyecto nuevo y pongo campos memo, edit o lo que sea funciona perfectamente.
Todo el problema viene si en el código hay una instrucción del tipo memo1.text:='' o edit1.text:='', que entonces muestra en el texto el nombre del proyecto. Sin embargo no me pasa si creo un proyecto nuevo de 0. Al final lo he solucionado con edit1.text:=' ', es decir, dejando un espacio en blanco en medio, pero esto es una chapuza de solución provisional. Si me llevo el mismo proyecto a otro equipo con delphi 2010, lo compila y funciona perfectamente y no da el problema aún con el edit1.text='' (sin espacio). Luego debe ser de algo de mi equipo a raíz de haber hecho algo mientras el proyecto estaba abierto o ejecución. No sé que más pistas dar, pues lo que me queda es reinstalar el delphi y ya está. Es un windows xp sp3. |
#14
|
|||
|
|||
Hola, Neftalí. Lo de la memoria flash es una medida de seguridad para evitar que copien la aplicación. Pongo una condición en cada procedimiento de la aplicación y, si no está conectada la memoria, se cierra la aplicación. Igual es un cutrerío de medida de seguridad, pero es lo único que se me ha ocurrido. Un saludo.
|
#15
|
|||
|
|||
Hola de nuevo, sur-se. Pues en mi caso, los componentes no necesitan de código alguno para que cobren vida propia. Esto parece el argumento de Matrix o de Terminator.
|
#16
|
||||
|
||||
Cita:
¿Cómo detectas la memoria? ¿Debe estar en alguna unidad especial? ¿En cualquier USB? ¿La distribuyes con la aplicación? Me interesa este tema. Otra cosa; Ninguna medida es "cutrerío" si tiene su razón de ser y funciona correctamente.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#17
|
|||
|
|||
Cita:
No, no debe tener nada. La aplicación detecta (o no) el número de serie de la memoria flash. Por ejemplo, si el número de serie fuera 1000, el código sería: Código:
function keyproof(): Boolean; var contador: Byte; MaximaLongitud, indicadores:cardinal; unidad, Etiqueta: string; NumeroSerie, unidades: LongWord; begin Result:=False; unidades:= GetLogicalDrives; contador:=0; while (contador<=31) and (not Result) do begin unidad:=Char(Contador+Ord('A')) + ':\'; if (unidades And Trunc(Power(2, Contador))) <> 0 Then GetVolumeInformation(PChar(unidad), PChar(Etiqueta), MAX_PATH, @NumeroSerie, MaximaLongitud, indicadores, Nil, 0); if NumeroSerie=1000 then Result:=True else inc(contador); end; end; |
#18
|
||||
|
||||
Bueno, hay que saber más sobre el sistema.
¿A quien va dirijido? => Pensando en si eleva el coste, si se va a instalar en muchos equipos, si funciona en red, si la llave la debe tener cada uno o la vendes tú,... ¿Cómo sabe la aplicación cual es el número correcto? => Pensando en que se pueda piratear por otros medios, utilizar discos virtuales o atacando a otro lugar que no sea la llave; habría que ver dónde se guarda ese número. => Ten en cuenta que modificar el número de serie de un disco/unidad es sencillo ¿Qué opciones hay si pierdes la llave? => Si no la he traído, si la he olvidado, si la he perdido, si la he tenido que formatear, si se ha estropeado,... Sin saber más detalles, es difícil...
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#19
|
||||
|
||||
Por si os sirve de algo yo lo que hago es pedir una clave en función del número de serie del disco duro y si la clave es correcta en un recóndito rincón del registro de windows pongo una marca para activar el programa.
Es una forma muy simple y poco segura de proteger mis programas pero mis clientes no se dedican a intentar piratearlo por lo que con que salte si instalan un terminal nuevo en la red o lo pasan a otro ordenador ya me vale y tiene la ventaja de que no me cuesta nada y es muy simple de implementar. Saludos
__________________
Be water my friend. |
#20
|
||||
|
||||
Cita:
Esa, aunque parezca simple, es uno de los paradigmas de los sistema de proteccion.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Comportamiento de componentes MDO | peccatum | Firebird e Interbase | 6 | 18-10-2007 20:08:42 |
Insólito caso de mujer en estado vegetativo | Robert01 | La Taberna | 0 | 08-03-2007 18:39:46 |
Comportamiento de controles con evento BeforeInsert | Johnny Q | OOP | 3 | 07-07-2005 21:36:50 |
Insolito, no encuentra la tabla!! | Mauro.NET | Conexión con bases de datos | 1 | 29-03-2005 20:30:56 |
Comportamiento de los Packages | unicode | OOP | 2 | 07-09-2003 18:22:38 |
|