Форум программистов, компьютерный форум, киберфорум
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,422
05.09.2013, 10:09 0

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

05.09.2013, 10:09. Показов 3846. Ответов 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
Заказать работу у эксперта
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.09.2013, 10:09
Готовые ответы и решения:

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

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

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

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

7
05.09.2013, 10:09
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.09.2013, 10:09
Помогаю со студенческими работами здесь

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

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

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

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

0
Новые блоги и статьи
Как переместить последние коммиты в новую ветку (branch) в Git
InfoMaster 20.01.2025
При работе над проектом часто возникают ситуации, когда необходимо изолировать определенные изменения от основной линии разработки. Это может быть связано с экспериментальными функциями, исправлением. . .
Как вернуть результат из асинхронной функции в JavaScript
InfoMaster 20.01.2025
Асинхронное программирование представляет собой фундаментальную концепцию в JavaScript, которая позволяет выполнять длительные операции без блокировки основного потока выполнения программы. В. . .
Какой локальный веб-сервер выбрать
InfoMaster 19.01.2025
В современной веб-разработке локальные веб-серверы играют ключевую роль, предоставляя разработчикам надежную среду для создания, тестирования и отладки веб-приложений без необходимости использования. . .
Почему планшеты и iPad уже не так популярны, как раньше
InfoMaster 19.01.2025
Эра революционных инноваций История планшетных компьютеров началась задолго до того, как эти устройства стали привычными спутниками нашей повседневной жизни. В начале 1990-х годов появились первые. . .
Как самому прошить BIOS ноутбука
InfoMaster 19.01.2025
BIOS (Basic Input/ Output System) представляет собой важнейший компонент любого компьютера или ноутбука, который обеспечивает базовое взаимодействие между аппаратным и программным обеспечением. . .
Какой Linux выбрать для домашнего компьютера
InfoMaster 19.01.2025
Современные реалии выбора операционной системы В современном мире выбор операционной системы для домашнего компьютера становится все более важным решением, которое может существенно повлиять на. . .
Как объединить два словаря одним выражением в Python
InfoMaster 19.01.2025
В мире программирования на Python работа со словарями является неотъемлемой частью разработки. Словари представляют собой мощный инструмент для хранения и обработки данных в формате "ключ-значение". . . .
Как без исключения проверить существование файла в Python
InfoMaster 19.01.2025
При разработке программного обеспечения на Python часто возникает необходимость проверить существование файла перед выполнением операций с ним. Это критически важная задача, которая помогает избежать. . .
Как определить, содержит ли строка подстроку в JavaScript
InfoMaster 19.01.2025
При разработке веб-приложений часто возникает необходимость выполнять различные операции со строками, среди которых особое место занимает поиск подстрок. JavaScript предоставляет несколько встроенных. . .
Что такое метаклассы в Python
InfoMaster 19.01.2025
Метаклассы в Python представляют собой один из самых мощных и одновременно сложных механизмов языка, позволяющий программистам контролировать процесс создания классов. По своей сути, метакласс. . .
Как удалить свойство из объекта JavaScript
InfoMaster 19.01.2025
В современной веб-разработке объекты JavaScript играют фундаментальную роль в организации и структурировании данных. Они представляют собой контейнеры, которые хранят связанные данные и. . .
Какая разница между String и string в C#
InfoMaster 19.01.2025
В языке программирования C# существует интересная особенность: для работы со строками можно использовать как String, так и string. Эта двойственность часто вызывает вопросы у разработчиков, особенно. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru