![]() |
![]() |
| Paypal | 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
|
||||
|
||||
|
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. |
|
#2
|
|||
|
|||
|
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. |
|
#3
|
|||
|
|||
|
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.
|
|
#4
|
||||
|
||||
|
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. |
|
#5
|
|||
|
|||
|
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;
|
|
#6
|
||||
|
||||
|
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. |
|
#7
|
||||
|
||||
|
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. |
|
#8
|
|||
|
|||
|
Cita:
![]() |
![]() |
| 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 |
|