Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Как это используется? https://www.cyberforum.ru/ c-cpp/ thread940991.html
Знатоки, пожалуйста, расскажите об overlapped и "с чем его едят"? Спасибо за внимание!
C/C++ Связь по COM порту
Всем привет! объясните пожалуйста как работать с COM портом. как отправить данные и принимать данные?
C/C++ Visual Studio Express 2012 C++ подключение к 1С V82.COMConnector (COM) объекту Хочу подключиться через com зарегистрированную библиотеку к 1С серверу. С VS совсем не работал ... В Qt есть такой пакет ActiveQT: ::OleInitialize(0); //инициализирую ole QAxObject * ax = new QAxObject("V82.COMConnector"); //подключаюсь к нужной библиотеки QAxObject * ac = ax->querySubObject("Connect(\"Srvr=\"172.0.0.100\";Ref=\"base1\";Usr=\"1C-Bot\";Pwd=\"56q\";\")"); // в результате... https://www.cyberforum.ru/ c-cpp/ thread934384.html C/C++ Изменить данные в ячейке файла EXCEL https://www.cyberforum.ru/ c-cpp/ thread933739.html
Есть прога создает и пишет в созданный файл EXCEL данные (Visual Studio 10, Office 2003). Помогите изменить код, что бы прога получала уже существующий файл и изменяла данные в ячейке. Прога из www.firststeps.ru Шаг 397 - Автоматизация приложений MS Office. Часть 4. И преобразована для работы с Visual Studio 10, Office 2003. Код кнопки: void CExcelTestDlg::OnBnClickedTest() { ...
Книги по технологии OLE на С++ C/C++
Всем привет. Подскажите пожалуйста литературу по этой теме, в гугле ничего не нашел. Интересует создание своего COM и OLE серверов/клиентов с нуля!
C/C++ Получить указатель на данные, хранящиеся в SafeArray (не на сам SafeArray) https://www.cyberforum.ru/ c-cpp/ thread930275.html
Есть некий SafeArray, о котором заранее известно, что это одномерный массив байт. То есть структура его проста и неизменна. Надеюсь, это облегчит следующую задачу: передать эти данные в программу, не понимающую SafeArray. Насколько я знаю, SafeArray - это структура, в начале которой служебная информация (прежде всего длина), а затем собственно данные типа Variant. Таким образом, можно просто...
C/C++ Форматы данных в ячейках Excel https://www.cyberforum.ru/ c-cpp/ thread929891.html
Здравствуйте! Подскажите пожалуйста, возможно ли сделать так, чтобы одновременно выполнялись 4 условия: 1) Формат текста в ячейках excel текстовый. 2) В ячейки вносятся числа типа double из программы написанной на Cpp Builder. 3) Excel показывает пользователю значения этих ячеек с округленной дробной частью по правилам математики до 3х знаков, если дробная часть есть. 4) При считывании...
C/C++ Cpp builder-Ole-Excel. WideString пишет в ячейку Excel минус перед нулем
Здравствуйте! Посмотрите пожалуйста: Когда аргумент val == 0, в ячейку Excel пишется "-0". Без WideString все нормально - в ячейку помещается нуль без знаков. Администратор форума говорил, что при вставке данных в ячейки Excel - WideString необходим. Формат ячеек Excel - текстовый. vVarCell = vVarCells.OlePropertyGet("Item", i,j); vVarCell.OlePropertySet("Value", WideString(val)); Как...
C/C++ Создание массива BSTR https://www.cyberforum.ru/ c-cpp/ thread929093.html
Как преобразовать нижеследующий код, чтобы строки не выводились, а создавался массив? Количество BSTR заранее неизвестно, но их будет не более 10. Таким образом, можно создать массив размерностью 11, а в качестве признака, что строк больше нет, использовать NULL. Но если есть способ лучше или проще, то я буду только рад. int listVMs(IVirtualBox *virtualBox) { HRESULT rc; /* ...
C/C++ Cpp Builder / Excel https://www.cyberforum.ru/ c-cpp/ thread920467.html
Здравствуйте! Пишу приложение "C++ Builder - OLE Excel" Написал такой код для прорисовки таблицы: vVarCell = vVarCells.OlePropertyGet("Range", "B2:B4"); vVarCell.OlePropertyGet("Select"); for(l = 7; l <= 12; l++){ vVarCell.OlePropertyGet("Borders", l).OlePropertySet("LineStyle",1); vVarCell.OlePropertyGet("Borders", l).OlePropertySet("ColorIndex",1); ...
C/C++ sapi and C++ builder XE4
Всем привет. Пишу на билдере прогу которая будет читать текст. ::CoInitialize(NULL); if( SUCCEEDED( hr ) ) { Word Saved8087CW = Default8087CW; Set8087CW(0x133f); pVoice->Speak(Edit1->Text.c_str(),SPF_DEFAULT, NULL );
C/C++ Работа с OLE (создать документ Access) пытаюсь создать документ access, но выдаёт ошибку. vVarApp=CreateOleObject("Access.Application"); AnsiString vAsCurDir=GetCurrentDir(); AnsiString vAsCurDir1=vAsCurDir+"\\my.mdb"; ShowMessage(vAsCurDir1); vVarDoc.OleProcedure("SaveAs",vAsCurDir1.c_str()); vVarApp.OleProcedure("Quit"); https://www.cyberforum.ru/ c-cpp/ thread913694.html
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
05.09.2013, 13:25 0

Правильная реализация интерфейса фабрики классов - C/C++ - Ответ 5020750

05.09.2013, 13:25. Показов 3837. Ответов 7
Метки (Все метки)

Ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/* [local] */ HRESULT __stdcall CoMyObjectClassFactory::CreateInstance(
    /* [unique][in] */ IUnknown *pUnkOuter,
    /* [in] */ REFIID riid,
    /* [iid_is][out] */ void **ppvObject)
{
    if (pUnkOuter) return CLASS_E_NOAGGREGATION; //если от нас хотят агрегат - мы не знаем что это такое, выбрасываем ошибку
 
    if (!ppvObject) return E_INVALIDARG; //если аргумент плохой - выбрасываем ошибку
 
    CoMyObject *p = new(std::nothrow) CoMyObject; //создаем объект (должен быть производным от запрашиваемого интерфейса)
    if (!p) return E_OUTOFMEMORY; //если не удалось - выбрасываем ошибку
 
    HRESULT res = p->QueryInterface(riid, ppvObject); //получаем интерфейс (если объект не найдет у себя интерфейс он вернет ошибку)
    if (FAILED(res)) delete p; //если объект вернул ошибку - удаляем его
 
    return res; //возвращаем результат вызова функции получения интерфейса
}


Вернуться к обсуждению:
Правильная реализация интерфейса фабрики классов C/C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2013, 13:25
Готовые ответы и решения:

Правильная стройка классов
Здравствуйте! Пытаюсь реализовать MVC на С++. Застрял на начальном этапе - создание M, V, C. Вот...

Реализация графического интерфейса к программе
Допустим я написал код для калькулятора,теперь мне нужно это как то вывести,не будед же...

[MFC] CObject::Serialize(...) А фабрики классов нету?
Вот собственно вопрос... Я могу прочитать из архива объект, когда знаю его фактический класс. ...

Создание экземпляров COM объектов с использованием фабрики классов
Доброго времени суток! Помогите разобраться, пожалуйста. Есть сторонний ActiveX компонент....

7
05.09.2013, 13:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2013, 13:25
Помогаю со студенческими работами здесь

Верно ли, что в основе фабрики лежит наследование классов?
Сори за глупый вопрос, но правильно ли я понял, что в основе фабрики лежит наследование классов?

MsSql: Правильная организация интерфейса
Доброго времени суток, обитатели форума.Требуется ваша помощь. Делаю интерфейс для бд книжного...

Правильная настройка интерфейса на ДНС-сервере
Всем привет) Такой вопорос. В организации есть два домен-контроллера. Оба - днс-серверы. К каждому...

Вынести методы из классов Panel и PictureBox (явная реализация методов базовых абстрактных классов)
Тема: Множественное наследование. Явная реализация методов базовых абстрактных классов. Как...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru