Главная страница
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.029 c
2-1149363576
ZV
2006-06-03 23:39
2006.06.25
Sleep


1-1147543175
RUNaum
2006-05-13 21:59
2006.06.25
Перенос и отлов панели.


2-1149531201
HoBBiT.cmp
2006-06-05 22:13
2006.06.25
Матрицы


3-1146207610
Некто
2006-04-28 11:00
2006.06.25
X*Y*H


15-1149230363
ГерманнД
2006-06-02 10:39
2006.06.25
Средне-квадратичная погрешность