Jak wygenerować programowo CLSID

Dryobates

Służy do tego funkcja API: CoCreateGUID. Znajduje się w module Ole2.

uses Ole2;
var
  Guid: TGUID;
begin
  CoCreateGUID(Guid);
end;

Problemy, na jakie możecie natrafić to:

  1. Delphi pokaże, że nie ma modułu Ole2.dcu. Jak zerkniecie do katalogu %Delphi%SourceWin znajdziecie Ole2.pas. Dodajcie do projektu i skompilujcie to nie będzie problemu.
  2. Czasem przydatnie jest miec w postaci stringa ten klucz. Do tego służy funkcja StringFromCLSID;

Przykład:

uses Ole2;
var
  Guid: TGUID;
  CLSIDStr: PWideChar;
begin
  CoCreateGUID(Guid);
  StringFromCLSID(Guid, ClSIDStr);
  ShowMessage(CLSIDStr);
end;
FAQ

3 komentarzy

Ale kombinujecie :/ Wystarczy dodać do Library path folder z plikiem Ole2.pas i już :)

Generowanie unikatowego identyfikatora (GUID)

Ole2.pas można w inny sposób skompilować:
kopiujemy go do %Delphi%\Bin i w wierszu przechodzimy do katalogu lib i wpisujemy takie coś:
DCC32 ole2.pas
i już mamy ole2.dcu razem z ole2.pas. W ten sposób można skompilować wszystkie pliki pas....
Dryobates pozdrawiam!!

jak zwykle Kuba nie do przebicia :D