Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 13.02.2012, 18:22   #1
reggga
 
Регистрация: 11.10.2011
Сообщений: 5
Репутация: 10
Печаль Ошибка при создании COM сервера

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

Код для клиента:
Код:

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <comobj.hpp>
#include <windows.h>
#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)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)
{
 char buffer[MAX_COMPUTERNAME_LENGTH+1];     //возвращает NetBios имя компьютера
 DWORD size;
 size=sizeof(buffer);
 GetComputerName(buffer,&size);
 com_obj1 = CreateOleObject("Project2.com_obj1");
 com_obj1.OleProcedure("Login",buffer);
 res = new double;
}

Код для сервера:
Код:

// COM_OBJ1IMPL : Implementation of Tcom_obj1Impl (CoClass: com_obj1, Interface: Icom_obj1)

#include <vcl.h>
#pragma hdrstop

#include "COM_OBJ1IMPL.H"
#include "Unit1.h"
TDateTime ttime;
/////////////////////////////////////////////////////////////////////////////
// Tcom_obj1Impl

STDMETHODIMP Tcom_obj1Impl::Login(BSTR name)
{ 
 ttime= ttime.CurrentDateTime();
  Form1->Memo1->Lines->Add(TimeToStr(ttime)+": Клиент "+name+" подключен");
  return S_OK;
}

reggga вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при создании БД alt5000 PHP 12 26.11.2011 18:46
Ошибка при создании сокета teapot C++ Builder 2 10.08.2011 11:30
Ошибка при создании DLL drknn Общие вопросы Delphi 5 30.04.2010 11:02
ошибка при создании TImage Juffin Общие вопросы Delphi 9 22.04.2009 17:49
Ошибка при создании таблицы LAGOX SQL, базы данных 1 28.03.2009 01:46


13:28.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru