Each interface should be associated with a unique GUID. While this is not required, interfaces without a GUID cannot be used for COM interoperability.
Adding a GUID also enables QueryInterface, which provides the means to obtain a
reference to the different interfaces that an object supports.
Add a GUID in square brackets at the beginning of the interface declaration:
type
IMyInterface = interface
procedure MyProc;
function MyFunc: Integer;
end;
type
IMyInterface = interface
['{B5D90CF6-B2C9-473D-9DB9-1BB75EAFC517}']
procedure MyProc;
function MyFunc: Integer;
end;
The Delphi IDE implements a shortcut for generating a GUID, defaulting to
Ctrl+Shift+G.