FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
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. |
#2
|
|||
|
|||
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.
|
#3
|
||||
|
||||
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. |
#4
|
|||
|
|||
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; |
#5
|
||||
|
||||
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. |
#6
|
||||
|
||||
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. |
#7
|
||||
|
||||
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. |
#8
|
|||
|
|||
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.
|
|
|
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 |
|