![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 - параметры обязательно должны быть ссылочного типа? Разве нельзя передавать по значению?