Импорт библиотеки типов. [Delphi]

Здравствуйте comp,
Проблема такая - импортирую библиотеку типов. Создается как обычно
файл _TLB.PAS и пакет, который можно компильнуть и составные
"компоненты" будут в палитре.
На этапе компиляции в TLB-файле находит ошибку. А как ее устранить я
не знаю, что-то знаний не хватает:
Значит так есть интерфейс
IGWMessage = interface(IUnknown)
У него описан ряд методов, например:
function Get_Application(out retval: DIGWSession): HResult; stdcall;
function Get_Attachments(out retval: DIGWAttachments): HResult; stdcall;
Есть еще ДиспИнтерфейс
DIGWMessage = dispinterface
У него такими методами и не пахнет.
Дальше, есть некий класс, в котором и ошибка. Я почему-то думал, что
он должен быть интерфейсным. В нем реализуются описанные методы
IGWMessage и DIGWMessage.
TMessage = class(TOleServer)
private
FIntf: DIGWMessage;
protected
function Get_Application: DIGWSession;
...
Ошибка возникает уже на реализации методов (привожу один):
function TMessage.Get_Application: DIGWSession;
begin
Result := DefaultInterface.Get_Application;
//Здесь DefaultInterface - возвращает FIntf.
end;
Фигня какая-то получается.
Что посоветуете?
З.Ы. Может книжки интересные есть почитать на эту тему, а то я не
врубаюсь зачем так сделано и как это должно работать!!