Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Ошибка при создании COM сервера

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Ошибка при создании COM сервера
Имя
Сообщение << Старые топики   Новые топики >>
Ошибка при создании COM сервера - 2012-02-13 17:29:45.420000   
reggga

Сообщений: 1
Оценки: 0
Присоединился: 2012-02-13 17:20:12.570000
Здравствуйте! Помогите мне, пожалуйста, разобраться в моей проблеме. Я создаю клиент-серверное приложение на основе COM объектов. Оба приложения запускаются, но когда я нажимаю кнопку соединения на клиенте, выскакивает ошибка "Интерфейс не поддерживается". До этого выскакивало что-то вроде "Ошибка реестра OLE". Я отключила контроль учетных записей, она пропала. Не знаю, может не надо было отключать. Подскажите, пожалуйста, если кто-то в этом разбирается.

Код для клиента:
#include &lt;vcl.h&gt; #pragma hdrstop #include "Unit1.h" #include &lt;comobj.hpp&gt; #include &lt;windows.h&gt; #define MAX_COMPUTERNAME_LENGTH 30 //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; double* res; double a; double b; Variant com_obj1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::N1Click(TObject *Sender) { &nbsp;char buffer[MAX_COMPUTERNAME_LENGTH+1];&nbsp;&nbsp;&nbsp;&nbsp; //возвращает NetBios имя компьютера &nbsp;DWORD size; &nbsp;size=sizeof(buffer); &nbsp;GetComputerName(buffer,&amp;size); &nbsp;com_obj1 = CreateOleObject("Project2.com_obj1"); &nbsp;com_obj1.OleProcedure("Login",buffer); &nbsp;res = new double; } &nbsp;
Код для сервера:
// COM_OBJ1IMPL : Implementation of Tcom_obj1Impl (CoClass: com_obj1, Interface: Icom_obj1) #include &lt;vcl.h&gt; #pragma hdrstop #include "COM_OBJ1IMPL.H" #include "Unit1.h" TDateTime ttime; ///////////////////////////////////////////////////////////////////////////// // Tcom_obj1Impl STDMETHODIMP Tcom_obj1Impl::Login(BSTR name) { ttime= ttime.CurrentDateTime(); Form1-&gt;Memo1-&gt;Lines-&gt;Add(TimeToStr(ttime)+": Клиент "+name+" подключен"); return S_OK; }
Post #: 1
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Ошибка при создании COM сервера







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.