Главная страница
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.03 c
1-1147946147
RUNaum
2006-05-18 13:55
2006.06.25
Разбираемся с перерисовкой.


3-1145967623
Express
2006-04-25 16:20
2006.06.25
TDBGrid - номер текущей записи и всего записей в таблице


15-1148826469
AlexanderMS
2006-05-28 18:27
2006.06.25
Декомпиляторы.


2-1149410113
Skype
2006-06-04 12:35
2006.06.25
определение кода нажатой клавиши


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