Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

генератор CLSID


snake1977 ©   (2004-11-17 15:05:00) 

Здравсвуйте! В дельфи есть такая примочка, нажимаеш Ctr+Shift+G и генерируется идентификатор такойже как и идентификаторы в HKEY_CLASSES_ROOT\CLSID, но этот идентификатор статичен, а есть ли функция генерирующая этот CLSID ??


Pentium133   (2004-11-17 16:03:00) [1]

function GetUniqueString(const Default: string): string;
var
 LGuid: TGUID;
 LGuidStr: WideString;
 Created: Boolean;
begin
 try
   Created := False;
   SetLength(LGuidStr, StrGuidLen - 1);
   if (CoCreateGuid(LGuid) and $80000000) = 0 then
   begin
     if
       StringFromGUID2(LGuid, PWideChar(Pointer(LGuidStr)), StrGuidLen) <> 0
     then
       Created := True
   end;
   if Created then
     Result := LGuidStr
   else
     Result := Default
 except
   Result := Default
 end
end;


Digitman   (2004-11-17 15:44:00) [2]


> нашел сам


"Спасение утопающих - дело рук самих утопающих" (С)


snake1977   (2004-11-17 15:36:00) [3]

я вроде по русски спросил:
---а есть ли функция генерирующая этот CLSID ??
спасибо за "помощь" но нашел сам
ф-я из ComObj, CreateClassID


Digitman   (2004-11-17 15:28:00) [4]

ты вообще-то по-русски-то можешь спросить, мол, мне нужно получить CLSID в ран-тайм программно ? мол, чаво вызывать-то для этого ? или это так сложно ? или я вообще не понял, что тебя столь озаботило ?


snake1977   (2004-11-17 15:15:00) [5]

я не дуюсь на статичность.
я имел ввиду, что нажав комбинацию клавиш я получаю этот идентификатор и использовать его смогу уже сгенерированный однажды

на данный момент я сделал как
Const myId:String='{E1844822-1144-4B60-8132-997A0693A03A}';

а как мне в программе его сгенерировать
т.е. например
MyId:String;
...
MyId:=GenId;
....


Digitman   (2004-11-17 15:08:00) [6]


> этот идентификатор статичен


что за бред ?


> есть ли функция генерирующая этот CLSID


есть. именно она вызывается в конечном итоге, когда ты жмакаешь Ctr+Shift+G и дуешься опосля этого на какую-то там "статичность"


Наверх

Титульная страница Поиск, карта сайта Написать письмо