![]() |
Problemas al escribir el registro de windows
Hola gente forista!!
Bueno les comento el problema que tengo. Estoy haciendo una aplicacion que tendra una licencia y un sistema de logueo, entonces quiero guardar ( en la instalacion) los datos necesarios para hacer esto. El problema es que no quiero guardarlos como "reg.WriteString" por que de esta manera si entras en el registro de windows podes leerlas y yo no quiero eso. Entonces pense en poner todo dentro de un registro (ejemplo a continuacion) y guardar el registro como Binary y despues recuperar el registro con los datos. Yo hago este codigo para guardar los datos :
El problema es que cuando hago :
esto me retorna un entero y no el registro Topciones. Podrian ayudarme a corregir esto? Como podria guardar los datos encriptados ( como binary) y recuperarlos bien para que no sea tan facil modificarlos?? Muchas gracias por tomarse el tiempo de leer mi post. Un saludo a todos!! |
Bueno capas es algo muy complicado o imposible de realizar lo que quiero, por lo tanto me conformo con que me ayuden a guardar los datos en el registro con las siguientes preferencias :
1- que no se guarden con "WriteString" por que de este modos serian visibles entrando con RegEdit. 2- si se pueden agrupar antes de guardarlos, para guardarlos como una unica clave en el registro que luego pueda recuperar y asi rearmar los datos, mejor que mejor Saludos! |
Pues no entiendo. En principio al usar:
los datos estarán en la variable Opciones. O sea, que ya lo tienes. // Saludos |
claro claro, yo pense lo mismo , pero mira lo que dice delphi de la implementacion del ReadBinaryData :
es una funcion que me retorna el largo de los datos en un entero, osea , en mi codigo, en la variable temp me queda un numero entero, y no el registro Topciones qeu guarde con toda la informacion. O la otra posibilidad es que yo este entendiendo mal y que el registro qeude guardado en el parametro que le pase (en este caso "opciones") y que el valor numero que me retorna sea solo a modo informativo.. puede ser? |
Cita:
Cita:
// Saludos |
disculpa que te colme la paciencia, de verdad que no es mi intencion ser bruto, pero hay algo que no anda.
estoy siguiento paso a paso el programa y cuando grabo los datos en el registro los graba bien, es decir, graba el registro "opcion" con esta forma : ("sdfsd", "asdfaf", etc), el problema esta cuando recupero. Cuando ejecuto esta linea : reg.ReadBinaryData('datos',opciones, SizeOf(opciones)); el debug(en la parte inferior izquierda que va mostrando los valores que toman las variables) dice "opciones inaccessible value" y probe de hacer un showmessage(opciones.nombre) para ver que me mostraba y me saca el cartelito vacio perdona que te moleste asi, pero a mi me pone mas nervioso que a vos no poder resolver algo por no saber como ....:( |
Bueno, yo nunca he usado esos métodos, nada más me estoy basando en lo que dice la ayuda.
Ahora bien, se me ocurre preguntar: ¿cómo está definido TOpciones? Porque veo que tienes varios campos de texto, y no sé si los estás definiendo simplemente como string o bien como alguno de los tipos de longitud fija como string[84]. Si sólo pones string no te va a funcionar porque en ese caso, el campo es -en el fondo- sólo un apuntador a la cadena y al usar WriteString supongo que se escribirá sólo una cadena vacía. Debes usar cadenas de longitud fija. // Saludos |
bueno ahora tengo una punta para probar, efectivamente TOpciones esta definido asi :
dejame probar con cadenas de longitud fija y te comento que pasa Muchas gracias por la paciencia !!:) |
bueno dejame contarte con total felicidad y mi mas grato agradecimiento que efectivamente ese era el problema!!
cambie los string por string [100] y anda muy bien!!! Muchisimas gracias!! ahora puedo guardar toda la informacion de la instalacion en el registro de windows de una manera que sea bastante dificil poder manipular los datos Nuevamente muchas gracias!! :):):) |
La franja horaria es GMT +2. Ahora son las 15:50:27. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi