Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.06.25;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.041 c
4-1143230385
Eraser
2006-03-24 22:59
2006.06.25
Установка криптопровайдеров


15-1148815028
deltav1
2006-05-28 15:17
2006.06.25
Cимплекс-метод


2-1149496259
redlord
2006-06-05 12:30
2006.06.25
как компоненту бросить сообщение даблклик


2-1149335087
Iehbr
2006-06-03 15:44
2006.06.25
DECIMALSEPARATOR


3-1146241531
Galiaf
2006-04-28 20:25
2006.06.25
Переместить указатель.