valega.com/es
AVLock SIMPLE Ayuda en linea
Introducción
Que es AVLock SIMPLE?
Como adquirir AVLock SIMPLE?
Usando AVLock SIMPLE
Como instalar AVLock SIMPLE?
Claves de Registración (Keys)
Configuración
Usuarios e Instancias
Esquemas de protección
Ejemplos
Ejemplo 1
Ejemplo 2
Ejemplo 3
Ejemplo 4
Ejemplo 5
Ejemplo 6
Ejemplo 7
Ejemplo 8
Propiedades
Métodos
El Online License Manager (OLM)
Como's
La utilidad RegMonitor
La Utilidad KeyGen
La Utilidad CodeCheck
La Utilidad KeyCheck
Información adicional
Historia de versiones
Acuerdo de licencia

Ejemplo 6

Top  Previous  Next

EJEMPLO 6

 

Items

En este ejemplo aprenderá a

Esquemas de protección

Diagrama de flujo

Breve práctica con el ejemplo 6a

Iniciar el periodo trial

Utilizar el panel de control del OLM

 

 

En este ejemplo aprenderá a:

1. Utilizar el componente AVLock SIMPLE en un esquema de protección con múltiples módulos (esquemas D, E y F).

2. Utilizar el panel de control del OLM para manejar licencias en linea.

 

 

Esquemas de protección

Este ejemplo implementa los esquemas D, E y F

 

 

             Esquema D

layout03

      Esquema E

layout06

                  Esquema F

layout07

 

El único cambio respecto del ejemplo 5 es que aquí se utiliza el OLM avanzado.

 

Y los implementa como se muestra en el siguiente diagrama de flujo:

 

Diagrama de flujo

 

 

demo05a01

procedure TForm1.FormCreate(Sender: TObject);

begin

DoRegister(False);

end;

 

function TForm1.maxrecords(n:integer):string;

begin

case n of

0: result:='50';

1: result:='200';

2: result:='1000';

3: result:='5000';

4: result:='20000';

5: result:='100000';

else result := 'Unlimited';

end;

end;

 

procedure TForm1.DoRegister(force:boolean);

var F : TRegForm;

begin

F:=TRegForm.Create(nil); //Create the registration Form

try

  if force or (keydata.DaysLeft < 15) then F.ShowModal;

finally

  FreeAndNil(F);

end;

if (keydata.Status = Registered) then begin

  maxrec:=maxrecords(Values2Num(keydata.Values,2));

  Button1.Enabled := (IsValueOn(keydata.Values,3,0));

  Button2.Enabled := (IsValueOn(keydata.Values,3,1));

  Button3.Enabled := (IsValueOn(keydata.Values,3,2));

end else begin

  maxrec := '50';

  Button1.Enabled := False;

  Button2.Enabled := False;

  Button3.Enabled := False;

  Form1.wait(10);

end;

LRecNo.Caption := maxrec;

end;

 

 

La versión (6a) es la versión de desarrollo donde se agregaron botones utilitarios para iniciar el periodo trial y para borrar los datos de registración a fin de tener nuevamente la  aplicación en estado original.

La versión (6b) es la versión definitiva donde el periodo trial se inicia automáticamente y se retiraron los botones utilitarios.

 

 

Breve práctica con el ejemplo 6a

 

Desde el IDE de Delphi Abra el ejemplo 6a (\Examples\6\a)

 

 

Ejecutar la aplicación

Presione el botón runbutton o F9 para iniciar la ejecución del programa.  En unos instantes podrá ver el formulario de registración:

 

demo05a03

 

Note que el estado corriente de registración es "Not registered" (No registrado). Esto es debido a que se ejecutó por primera vez el programa y en las versiones (a) de desarrollo no se inicia automáticamente el periodo trial.

 

Ahora con el botón [Continue >>], como la aplicación no está registrada se muestra la pantalla Wait con la cuenta regresiva:

 

demo05a05

 

Esta pantalla también se mostrará al hacer click sobre el botón [Free Features] del formulario principal.

 

Ahora tenemos tres alternativas para iniciar el periodo trial:

a) Método fuera de linea. Utilizando el método MakeTrial() mediante el botón [Start Trial with MakeTrial()].

b) Método en linea. Utilizando el OLM avanzado con el botón [Start with Advanced OLM] que utiliza el método OnlineStartTrial().

c) Método en linea. Método alternativo agregado en la versión 4: con el botón [Synchronize] que utiliza el método Synchronize().

El demo está configurado para acceder al sitio www.av-soft.com que podrá utilizar para hacer las prácticas.

 

 

Iniciar el periodo trial

 

Item relacionado: Como iniciar el periodo trial

 

Igual que en el ejemplo anterior tiene las casillas de chequeo para seleccionar los módulos que desea habilitar durante el periodo trial y un "combo box" donde seleccionar el número de registros que se permitirán.

Para probar seleccione Special 1, 2 y 3 y 100000 registros. Haga click sobre el botón [Start with Advanced OLM] y verá el siguiente cuadro de mensaje informando el resultado de la operación, "Trial iniciado" :

 

demo01a06

 

Además podrá ver que el estado corriente de registración ha cambiado mostrando el mensaje que puede ver abajo:

 

demo01a07

 

Si ahora hace click sobre el botón [Continue >>] pasará al formulario principal de la aplicación donde verá el resultado de la operación realizada, (ahora sin pasar por la pantalla Wait):

 

demo06a04

 

Puede ver que se habilitaron los botones correspondientes a las casillas de chequeo seleccionadas y también se estableció en 100000 el numero máximo de registros permitidos.

 

Con el botón [Show Registration Data] vea los datos de registración:

 

demo06a05

 

Veamos un poco el codigo fuente utilizado para calcular el valor del campo Values en base a las casillas de chequeo seleccionadas:

 

function TRegForm.values:string;

var val: word;

begin

val:=0;

if ch1.Checked then val := 1;

if ch2.Checked then val := val + 2;

if ch3.Checked then val := val + 4;

result := inttohex(val,3);

end;

 

Sobre la variable val se calcula el valor que luego será asignado al campo Values.

 

Si  "Special 1" está chequeado se agrega 1 a val   1 = 0001 en binario

Si  "Special 2" está chequeado se agrega 2 a val   2 = 0010 en binario

Si  "Special 3" está chequeado se agrega 4 a val   4 = 0100 en binario

 

Al chequear las casillas "Special 1", "Special 2" y "Special 3" obtenemos (1 + 2 + 4) = 7

 

Visto en formato binario:

 

Special 1 =  0001

Special 2 =  0010

Special 3 =  0100

        -------

Suma      =  0111

 

Ahora veamos el código fuente del cálculo del número de registros permitidos:

 

function TForm1.maxrecords(n:integer):string;

begin

case n of

0: result:='50';

1: result:='200';

2: result:='1000';  

3: result:='5000';

4: result:='20000';

5: result:='100000';  //<---

else result := 'Unlimited';

end;

end;

 

. . .

maxrec:=maxrecords(Values2Num(F.keydata.Values,2));

. . .

 

La función Values2Num() extrae del campo Values el nibble seleccionado y lo convierte a valor decimal.

 

Utilizar el panel de control del OLM

 

Item relacionado: Como registrar la aplicación utilizando claves

 

Ahora accedamos al panel de control del OLM desde un navegador (Este ha sido probado con Google Chrome, Firefox, Opera e Internet Explorer).

Ingresemos la URL: http://av-soft/olm3/s3cp.php

 

En unos segundos veremos la pantalla que se ve abajo. Ingresemos la password abc123 y hagamos click sobre el botón[-> Go]:

 

cp01

Veremos la pantalla de abajo. Ingresemos 12306 para "search for", seleccionemos el campo "App ID" y hagamos click sobre el botón [-> Go] y se desplegarán los registros que coincidan con el AppID ingresado:

 

cp03

Ahora hagamos click sobre el icono Edit editicon y pasaremos al siguiente cuadro de edición:

 

editolm01

 

Aquí tenemos varias secciones:

 

Datos no modificables: Son los datos del registro que no se pueden modificar.

 

Datos del usuario: Nombre, Compañía y email.

 

Selección de la acción a tomar: Se puede seleccionar una acción a tomar cuando se solicite una sincronización de datos con el método Synchronize().

(1) do not change segistration status: Si se selecciona esta opción no se generará una nueva clave y los campos Moved, Exten y Paid se harán igual a 'N'.

(2) License is being moved to another computer: Asignar el campo Moved = 'Y'. Indicando que la licencia de este registro está siendo movida a otro computador.

(3) Allow to extend the trial period: Asignar el campo Exten = 'Y' para autorizar la generación de una nueva clave que extienda el periodo trial por un periodo adicional, normalmente 15 días, pero se puede cambiar asignando otro valor a la variable $extendays en el script genkeys3lib.php.

(4) The user paid for a new values field: Asignar el campo Paid = y (y minúscula) indicando que se debe generar una nueva clave tomando  como base la clave vigente actual donde se cambiará solo el campo values de la misma. Util con claves temporales para el caso en que se quiera agregar o quitar  un módulo controlado por el campo values o cambiar otra condición controlada por el campo values como ser el numero de registros autorizados pero mantener el mismo periodo autorizado por la clave temporal vigente.  

(5) The user paid for a new key: Asignar el campo Paid = 'Y'. El usuario ha pagado por una nueva clave por lo que deberá generarse una nueva clave en base a los datos que se especificarán en la sección de abajo.

 

Datos para la nueva clave a generarse: Aquí se asignan los datos que se utilizarán cuando se cree la nueva clave cuando el campo Paid sea igual a 'Y'.

Campo Users: Cantidad de usuarios que podrán registrarse utilizando la misma clave, uno como primario y el resto como usuarios secundarios. se puede asignar un número en el rango [1..254].

Campo Instances: Determina el numero máximo de instancias que se podrán ejecutar en cada computador registrado.

Campo Values: Campo values de la clave a generar. Ya se explicó más arriba como utilizar este campo.

Campo Days: Campo days de la clave a generar. En claves temporales determina el periodo de días autorizados, el valor debe estar en el rango [1..65534]. Para claves permanentes se asigna automáticamente con 65535.

 

Botones operativos:

[Delete record]: Elimina el registro corriente. No habilitado en av-soft.com.

[Save Record]: Modifica los datos del registro con los datos ingresados en el formulario.

[Cancel]: Cierra el cuadro sin modificar el registro.

 

Como práctica con esta pantalla ingresemos los siguientes datos como se muestra en la imagen abajo:

 

editolm02

 

Después hacemos click sobre el botón [Save Record] y veremos el siguiente mensaje indicando que el registro ha sido modificado:

 

editolm03

 

Hacemos click en aceptar y volvemos a la pantalla del panel de control. Refresquemos la pantalla con el botón [->Go] del panel de control y veremos el registro modificado:

 

editolm04

 

Ahora podemos hacer click sobre el botón [Synchronize] del formulario de registración

 

demo06a06

Esto va a generar y registrar una nueva clave, en el OLM y localmente. Vea el estado de registración abajo:

 

demo06a08

 

y volviendo con [Continue >>] al form principal veremos los cambios realizados que dependen del campo Values:

 

demo06a07