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

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

EOleSysError: Class not registered(и снова про СОМ) [D7, 2003]


deplhi ©   (2006-06-02 22:57:00) 

Написал СОМ-сервер(по примеру из книги) с одним методом без библиотеки типов, откомпилировал, созданную длл зарегистрировал в ОС с помощью regsvr32. В новом приложении-клиенте добавил ссылку на интерфейсный модуль и забил следующий код:
procedure TForm1.Button1Click(Sender: TObject);
var t: ItestCom;
begin
 t := CreateComObject(Class_testCOM) as ItestCom;
 t.showIt('Hello!!!');
end;


код интерфейсного модуля:
unit unit2;

interface
const
 Class_testCOM: TGUID = '{D58FA6AB-D9E7-4069-8EC7-C56B91D74AD1}';

type
 ItestCOM = interface['{4A1FD184-F248-42F6-A657-DB1E1562FF7E}']
   procedure showIt(s:string);
 end;

implementation

end.


В общем клиент компилится без ошибок, а в ран-тайме выдает ошибку: "EOleSysError: Class not registered". А теперь внимание вопрос: "Какого хрена ему еще надо? О какой регистрации идет речь?"


deplhi   (2006-06-03 14:57:00) [1]


> ItestCOM = interface(IDispatch)
>    ['{4A1FD184-F248-42F6-A657-DB1E1562FF7E}']
> ?

ну и какие здесь проблемы? Да и по-другому вопросу нет ответа.((


isasa   (2006-06-03 10:29:00) [2]

ItestCOM = interface(IDispatch)
   ['{4A1FD184-F248-42F6-A657-DB1E1562FF7E}']
?


deplhi   (2006-06-02 23:41:00) [3]

Да и еще одно. Out - параметры обязательно должны быть ссылочного типа? Разве нельзя передавать по значению?


Наверх

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