Ver Mensaje Individual
  #30  
Antiguo 14-12-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 28
Lepe Va por buen camino
Yo no gastaría más tiempo en el randseed, está claro que al ejecutarlo reinicializa la semilla y es cuando empiezan los problemas.

¿puedes crear un simple número Int64 e ir incrementándolo cada vez que se crea un nuevo cursor? Obviamente lo pasas a string y ya tienes números bastante grandes. Incluso puedes guardarlo en un archivo .ini y continuar con él hasta cierto número predeterminado, después de eso lo reinicias:

Los GUID son creados por Microsoft y por ello no sabemos cómo están hechos, (al menos yo).

Ya puesto, puedes mezclar y el formato de fecha y hora, incluyendo milisegundos con un Int64:
Código Delphi [-]
//   Min int64 value = -9223372036854775808
//   Max int64 value = 9223372036854775807

miLong := (miLong  + 1 )
if miLong > high(int64) -1 then
  miLong := low(int64);

query.name = formatDatetime('yyyymmddhhnnsszzz', now) + inttostr(miLong);

El problema según creo entender son esos cursores que acceden a las tablas de sistema ¿no?

Suerte
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 14-12-2008 a las 16:53:19.
Responder Con Cita