Programowanie w języku Delphi » FAQ

Jak wygenerować programowo CLSID

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;

3 komentarze

wotek 2005-01-23 19:15

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

<url=http://4programmers.net/faq.php?id=580>Generowanie unikatowego identyfikatora (GUID)</url>

angel2953 2003-07-09 17:12

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!!

lofix 2003-07-09 17:07

jak zwykle Kuba nie do przebicia :D