function GetGUID: string;
var
i: Integer;
GUID: TGUID;
begin
i := 0;
Result := '';
while i < 3 do
begin
if CoCreateGuid(GUID) = S_OK then
begin
SetLength(Result, 32);
StrLFmt(PChar(Result), 32,'%.8x%.4x%.4x%.2x%.2x%.2x%.2x%.2x%.2x%.2x%.2x',
[Guid.D1, Guid.D2, Guid.D3, Guid.D4[0], Guid.D4[1], Guid.D4[2], Guid.D4[3],
Guid.D4[4], Guid.D4[5], Guid.D4[6], Guid.D4[7]]);
Break;
end;
Inc(i);
end;
if Result = '' then
begin
GUIDCnt := GUIDCnt + 1;
Result := FormatDateTime('YYYYMMDDHHMMSSZZZ', Now) + '-' + IntToHex(GUIDCnt, 14);
end;
end;
uses Winapi.ActiveX,