Ver Mensaje Individual
  #17  
Antiguo 13-07-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Reputación: 25
Delphius Va camino a la fama
Hola BuRtOn,
Dime, sin ofender ¿Estoy hablando en chino?

Porque no comprendo que no te hayas dado cuenta de lo que coso y yo te hemos estado diciendo.

¿Tanto cuesta hacer que cuando se crea la ventana principal hacer el chequeo de si está registrado el usuario y en base a ello decidir si se debe mostrar la ventana de registración o sino dar por válido la copia del ejecutable?

Veamos esto bajo la lupa:

1. En el evento OnCreate de tu form principal debes tener algo como esto:
Código Delphi [-]
RegistroValido := VerificarRegistro;
if NOT RegistroValido
   then begin
            // el sistema no ha sido registrado
            ShowMessage('Hey amigo... tienes una copia ilegal del sistema');
            MostrarVentanaDeRegistracion;
          end
   else begin
            // el sistema ya habia sido registrado
           ShowMessage('Gracias amigo por usar una copia legal');
           HacerAlgunaOperacionNecesaria;
         end;

VerificarRegistro es una función que cumple con el propósito de hacer la "consulta" y determinar si el usuario tiene una copia registrada. Ya sea que deba consultar a una base de datos, mirar en un archivo oculto, en el regitro de windows, no importa... Lo que interesa es que VerificarUsuario tiene la capacidad de saber si el sistema fue registrado apropiadamente.

Y bueno, se pregunta si esta todo en orden (debidamente registrado), si no lo está se muestra el form de registración y si está en orden simplemente se deja continuar con el trabajo: se habilitan los menues, se lanza el cuadro de login si es necesario, etc (eso ya depende de tu sistema).

¡Y listo! ¿Que más simple que esto?
¿Que sucede? He aqui una explicación del tema:

1. En la primera vez que se inicia el ejecutable, VerificarRegistro devuelve FALSE. Por tanto, habilitará el form de registro y mostrará el cartelito necesario.
2. El usuario por tanto se ve obligado a registrar el software. Si no lo registra, el sistema seguirá arrojando el cartelito y el form de registro.

No está demás decir que el sistema debe diseñarse para que esta form de registro sea en forma modal y que las opciones de menu y otras cosas estén inhabilitadas a excepción de las que permiten llevar al form de registro. Aunque todo esto dependerá de como esté hecho el sistema.

3. Una vez que el usuario registra apropiadamente el software, VerificarRegistro devolverá TRUE, por tanto seguirá el curso normal de trabajo.

BuRtOn, ¿Se entiende ahora?
Por cierto, yo que tu reemplazaría esos ShowMessage() por Application.MessageBox(), es mucho más estético y profesional.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita