如何在 Delphi 中生成 GUID 版本 1?
How to generate a GUID version 1 in Delphi?
有没有办法在 Delphi 5 中生成 GUID v1(基于时间)?我找到了这个功能...
unit ComObj;
function CreateClassID: string;
但我不确定它是否会生成基于时间的 GUID。我也知道这个...
SysUtils.CreateGUID(newGUID);
... 调用生成 GUID 版本 4(随机)的 Windows API CoCreateGUID
。
类似于 CreateGUID 的实现方式 - 使用 UuidCreateSequential:
uses
Windows;
function UuidCreateSequential(out guid: TGUID): Longint; stdcall; external 'rpcrt4.dll' name 'UuidCreateSequential';
function CreateGUID_V1(out Guid: TGUID): HResult;
begin
Result := HResultFromWin32(UuidCreateSequential(Guid));
end;
我这里没有 Delphi 5,所以不确定这里使用的所有东西在 20 年前是否可用。
有没有办法在 Delphi 5 中生成 GUID v1(基于时间)?我找到了这个功能...
unit ComObj;
function CreateClassID: string;
但我不确定它是否会生成基于时间的 GUID。我也知道这个...
SysUtils.CreateGUID(newGUID);
... 调用生成 GUID 版本 4(随机)的 Windows API CoCreateGUID
。
类似于 CreateGUID 的实现方式 - 使用 UuidCreateSequential:
uses
Windows;
function UuidCreateSequential(out guid: TGUID): Longint; stdcall; external 'rpcrt4.dll' name 'UuidCreateSequential';
function CreateGUID_V1(out Guid: TGUID): HResult;
begin
Result := HResultFromWin32(UuidCreateSequential(Guid));
end;
我这里没有 Delphi 5,所以不确定这里使用的所有东西在 20 年前是否可用。