- Код: Выделить всё
- B7F52264-3BE7-0805-7422-F5B77023F5B7
 00000000-FEE8-B74B-BCB9-0608E8FE4BB7
 00000000-FFE8-B752-BCB9-0608E8FF52B7
 00000000-5DE8-B753-BCB9-0608E85D53B7
 00000000-26E8-B74E-BCB9-0608E8264EB7
 ...
То есть первая генерация нормальная, а потом начинают создаваться какие-то странные последовательности, которые иногда повторяются.
Конкретно под линуксом работает следующая функция:
- Код: Выделить всё
- Const
 KernelUUID = '/proc/sys/kernel/random/uuid';
 Function CreateKernelGUID(Var GUID : TGUID) : Boolean;
 Const
 UUIDLen = 36;
 Var
 fd: Longint;
 S : String;
 
 begin
 fd:=FileOpen(KernelUUID,fmOpenRead);
 Result:=(Fd>=0);
 if Result then
 begin
 SetLength(S,UUIDLen);
 SetLength(S,FileRead(fd,S[1],UUIDLen));
 Result:=(Length(S)=UUIDLen);
 If Result then
 begin
 GUID:=StringToGUID('{'+S+'}');
 //Writeln('Kernel ID = ',GuidToString(GUID));
 end;
 end;
 end;
При тщательном ея рассмотрении видно, что GUID получается из некоего фиктивного файла, но, что смущает, файл этот открывается, но потом не закрывается. Прежде чем позориться в багтрекере, подскажите: это нормальное положение вещей или как?




