Si
Al González confía en los GUID, para mí sobran las palabras. ¿Qué tal esto?:
Código Delphi
[-]
procedure TForm1.FormCreate(Sender: TObject);
var
guid:TGUID;
strGuid:string;
begin
CreateGUID(guid);
try
strGuid := GUIDToString(guid)
except
on EConvertError do
begin
strguid := FormatDateTime('yyyymmddhhmmsszzz',now) + RandomString(8);
end;
end;
FCursor := strguid;
end;
Esto iría en el constructor del TMDOSQL. Puesto que lo usan internamente para las tablas de sistema, ya estaríamos usando el famoso GUID (salvo error en mi código).
Vaya, veo que
Sick Boy ha implementado la solución, bueno, si falla, aquí tienes otra posibilidad.
Edito: Al final esto no me gusta. La ayuda de delphi dice que puede saltar el EConverterror al traducirlo a string y en ese caso estaríamos de vuelta con el RandomString. Muy posiblemente la solución del Integer sea la mejor.
Saludos