Hola, tengo una aplicación desarrollada en pb 7.0 y necesito hacer una versión trial de esta para utilizarla con fines de publicidad, pero no se como (o con que herramient)a se hace. Desde ya agradezco cualquier sugerencia. Gracias. Hernán.
Las versiones de pruebas realmente lo que hacen es comprobar algún tipo de dato ( como la fecha del sistema, el número de serie, etc..) y al hacer el open de la aplicación comprobar ese valor. Puedes hacer algo sencillo como comprobar la fecha del sistema y dejar solo 30 días. En el evento open del objeto aplicación pon lo siguiente: Boolean lb_retorno // Comprobamos si está en periodo de prueba lb_Retorno = of_trial() // abrimos la aplicación if lb_retorno then open(w_ventana_inicial) else halt close end if Ahora nos generamos una función en el objeto aplicación que retorna un boolean y se llama of_trial() boolean lb_Retorno Date ldt_hoy, ldt_fecha_inst integer li_registro string ls_serie, ls_fecha, ls_fecha_a_probar ldt_hoy = Today() ls_fecha = String(ldt_hoy,'yyyymmdd') li_registro = RegistryGet ( 'HKEY_LOCAL_MACHINE\Software\miaplicacion', 'numserie', RegString!, ls_serie) if li_registro = -1 then // No hemos guardado el número de serie ls_serie = '98667' + ls_fecha + '6673KJU' // Nota: lo de 98667 y 6673KJU son para despistar, porque realmente lo que vamos a evaluar es la fecha RegistrySet ( 'HKEY_LOCAL_MACHINE\Software\miaplicacion', 'numserie', RegString!, ls_serie) lb_retorno = true else // Cogemos la fecha que habiamos ocultado en el número de serie ls_fecha_a_probar = Mid(ls_serie,6,8) ldt_fecha_inst = date(Integer(Mid(ls_fecha_a_probar,1,4),Integer(Mid(ls_fecha_a_probar,5,2),Integer(Mid(ls_fecha_a_probar,7,2)) if DaysAfter(ldt_fecha_inst, ldt_fecha_hoy) > 30 then MessageBox("Aviso","Ha pasado el periodo de evaluación de 30 dias.") lb_retorno = false end if end if Return lb_retorno Es simple pero más o menos efectivo, si cambiamos la fecha del sistema nos saltamos lo de la evaluación, pero para empezar no está mal.