Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-01-2009
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Evento adecuado para controlar si el software está registrado

Feliz Año a todos los usuarios de este fantástico foro!!!
Estoy intentando dotar de algo de seguridad a una aplicación realizada simplemente para evitar la libre distribución del mismo (sino mi jefe me mata ). Estoy usando el componente mxProtector y una protección que se basa en registrar el software con un número de serie que se obtiene a partir del id de hardware y de un username. Mi pregunta es la siguiente, ¿qué evento es el más apropiado para realizar este control?
Hay que tener en cuenta que el funcionamiento sería, algo como sigue:
if Registrado then
begin
//Inicialización del programa
//Cauce normal del programa
end
else
begin
//Formulario de registro
if Registrado then
//Inicialización del programa
//Cauce normal del programa
else
Close;
end;

Gracias!!!
__________________
"Patientia et constantia taelecum"
Responder Con Cita
  #2  
Antiguo 08-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo cierto es que no creo que haya un sólo lugar en el que actuar en tu caso. Puede ser donde tú quieras o necesites. Puede ser al principio del todo, en el propio archivo "DPR", antes de crear ningún formulario de la aplicación; pero, también puede ser una vez inicializada la aplicación, incluso dejar al usuario usar ciertas partes del programa con normalidad, mientras que no otras, hasta que no lo "registre". No sé si con esto te digo algo que merezca la pena o qué.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 08-01-2009
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Hola Dec,
Primero decirte que cualquier comentario que aporte algo merece la pena y después de hacerte un poco la pelota comentarte que me interesaría hacer el control antes de crear los formularios, pero no sé como hacerlo. Me dices que se puede hacer en el dpr, pero no se como. Por otra parte pienso como lo voy a hacer antes de crear los formularios si el formulario de registro es otro formulario. Estoy atascaillo aysss
__________________
"Patientia et constantia taelecum"
Responder Con Cita
  #4  
Antiguo 08-01-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
yo lo pondría en el evento "OnCreate" de tu formulario principal y la primera instrucción, sería la inicialización del componente. Revisa la ayuda y los "demos" que hay sobre ese componente, en ellos se explica bastante bien como proteger la aplicación por fechas o por número de serie.
__________________

Responder Con Cita
  #5  
Antiguo 08-01-2009
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Aparte de lo dicho por el amigo Contra, echa un vistazo a este archivo "DPR":

Código Delphi [-]
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1},
  URegisterForm in 'URegisterForm.pas' {RegisterForm};

{$R *.res}

begin
  Application.Initialize;

  with TRegisterForm.Create(nil) do
  try
    ShowModal();
  finally
    Free();
  end;

  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Como ves, se trata del archivo "DPR" de un proyecto "vacío" (aunque ya existe el formulario "Form1", que, es el principal) al que se le ha añadido otro formulario. Pues bien, antes de crear el formulario principal de la aplicación, como puedes ver, podemos crear y utilizar otro formulario, u otro componente. No sé si con esto ya coges la idea o no.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 08-01-2009
vejerf vejerf is offline
Miembro
 
Registrado: ene 2007
Posts: 206
Poder: 18
vejerf Va por buen camino
Gracias a los dos,
Por una parte ya estaba trabajando en la solución de ContraVeneno porque me parecía lo más lógico, pero no tenía muy claro si funcionaría así o no por que el Registro también era un formulario. Por otra parte creo que entiendo tu idea Dec, aunque no sabía que se podía incluir código en el DPR. Creo que te aportación ha sido muy valiosa.
Ya por último y con la solución de ContraVeneno casi implementada me he encontrado con un problema. Si la aplicación está registrada va bien. Si se registra tb va bien. El problema es que no se tenga un número de serie válido y la aplicación deba finalizarse. En este caso debe terminarse sin dar ningún mensaje de aviso cosa que hago en el evento OnCloseQuery. ¿Hay alguna forma de finalizar la aplicación sin pasar por este evento?
Gracias de nuevo!!!
__________________
"Patientia et constantia taelecum"
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo saber el formato adecuado de los datos para hacer una consulta? Alcolea Varios 3 08-01-2009 08:30:38
Es TDBCtrlGrid el control adecuado para un TPV hibero OOP 1 22-04-2008 08:45:18
Extraer el Nombre y la Organización a la que está registrado Windows Cecil API de Windows 4 22-12-2007 08:56:59
Tipo de dato mas adecuado, para un campo de moneda Chogo Firebird e Interbase 9 08-08-2007 15:03:00
No encuentro el evento adecuado Delfino Conexión con bases de datos 5 24-10-2003 14:19:00


La franja horaria es GMT +2. Ahora son las 03:00:13.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi