.
Программирование COM в Delphi. Урок 3. Уникальный идентификатор интерфейса (GUID).
Автор megabax   
07.08.2011 г.
New Page 1

Программирование COM в Delphi. Урок 3. Уникальный идентификатор интерфейса (GUID).

Исходники к уроку можно скачать здесь..

Каждый COM-объект имеет свой GUID - глобальный уникальный идентификатор, который выглядит как длинная последовательность букв и цифр, например, такая: 4727727F-1CBC-49F7-90B2-8BCF06775B3B. Под этим кодом COM-объект зарегистрирован в реестре Windows. Размер этого GUID 16 байт. Такие идентификаторы формируются достаточно сложным алгоритмов, учитывающим дату, время и MAC-адрес сетевой карты. Каждый GUID уникален в пределах всех компьютеров мира. Некоторые интерфейсы, работающие внутри одной программы, так же могут требовать GUID, поэтому в Delphi предусмотрена возможность объявлять интерфейс, привязанный к уникальному идентификатору:

  IMyDriver=interface

    ['{0702EC9F-8A27-49EB-81A8-CC3AABD48A6E}']

    function Receiv:string;

    procedure Send(s:string);

  end;

Для того, что бы сформировать данный GUID, достаточно нажать Ctrl+Shitf+G и Delphi вставить в текст программы, где сейчас курсор, сгенерированный GUID. Уникальный идентификатор можно генерировать и программно.

Вот текст примера программной генерации GUID:

unit GDUnit;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls;

 

type

  TfrmGuidDemo = class(TForm)

    btnGUIDCreate: TButton;

    Memo1: TMemo;

    procedure btnGUIDCreateClick(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var       

  frmGuidDemo: TfrmGuidDemo;

 

implementation

 

{$R *.dfm}

 

procedure TfrmGuidDemo.btnGUIDCreateClick(Sender: TObject);

var Guid:TGuid;

begin

  CreateGuid(Guid);

  Memo1.Lines.Add(GuidToString(Guid));

end;

 

 

end.

А вот результат его работы::

Программирование COM в Delphi. Урок 3. Уникальный идентификатор интерфейса (GUID).

 

Исходники к уроку можно скачать здесь..

(C) Шуравин Александр 

Последнее обновление ( 12.09.2013 г. )