Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Вниз
EOleSysError: Class not registered(и снова про СОМ) Найти похожие ветки
← →
deplhi (2006-06-02 22:57) [0]Написал СОМ-сервер(по примеру из книги) с одним методом без библиотеки типов, откомпилировал, созданную длл зарегистрировал в ОС с помощью 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-02 23:41) [1]Да и еще одно. Out - параметры обязательно должны быть ссылочного типа? Разве нельзя передавать по значению?
← →
isasa © (2006-06-03 10:29) [2]ItestCOM = interface(IDispatch)
["{4A1FD184-F248-42F6-A657-DB1E1562FF7E}"]
?
← →
deplhi (2006-06-03 14:57) [3]
> ItestCOM = interface(IDispatch)
> ["{4A1FD184-F248-42F6-A657-DB1E1562FF7E}"]
> ?
ну и какие здесь проблемы? Да и по-другому вопросу нет ответа.((
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.013 c