Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Общение с Excel через OLE Недавно начал изучать с++. Использую ms vc++ 2010 express. Код такой // 2.cpp: определяет точку входа для консольного приложения. // #include "stdafx.h" #include "windows.h" HRESULT OLEMethodEx(int nType, VARIANT *pvResult, IDispatch *pDisp,LPOLESTR ptName, int cArgs...) https://www.cyberforum.ru/ c-cpp/ thread1381868.html COM & C++ & MDI C/C++
Всем привет. Совсем недавно стал постигать азы технологии COM на своем "рабочем" языке С++. Благодаря MSDN научился создавать простенькие com серверы и использовать их в приложениях. Но недавно столкнулся с задачей, которую уже долгое время не могу решить. Надеюсь на вашу помощь. Задача следующая. Имеется MDI приложение, в котором есть возможность добавления нового функционала с помощью...
C/C++ Плагин для IE (автоматическое управление браузером) https://www.cyberforum.ru/ c-cpp/ thread1371787.html
мне нужно организовать автоматическое управление браузеров ie (открывать, закрывать вкладки при определённых событиях), вот только незнаю с чего начать, в интернете вычитал что можно это сделать на шарпе, только не могу понять как и примеров не могу найти
C/C++ Сторонний процесс Excel https://www.cyberforum.ru/ c-cpp/ thread1371165.html
Доброе время суток! Возникла такая задача. Левая программа (не важно какая) запускает Excel с уже сгенерированной информацией. Не открывает файл с диска, а заполняет таблицу "на лету". Мне нужно из своей программы получить данные из этой таблицы и корректно закрыть Excel с сохранением данных из таблицы в файл. VC и .net не предлагайте. Желательно чистый с++ и Qt. Т.е. сам процесс excel я "вижу"...
C/C++ Нумерация страниц в ворде (OLE)
Подскажите пожалуйста, как пронумеровать страницы в вордовском документе с помощью технологии OLE?
C/C++ Как получить библиотеку типа *.tlb из COM-объекта *.exe https://www.cyberforum.ru/ c-cpp/ thread1363707.html
Здравствуйте! =) Прошу подсказку у экспертов в COM`е. Можно ли сгенерировать библиотеку типа Tratata.tlb по имеющемуся COM-объекту? Есть подозрение, что есть такая возможность: "...После генерации библиотеки типа Вы можете либо поставлять ее в виде отдельного файла, либо включить ее в Ваш EXE или DLL как ресурс. Большинство разработчиков предпочитает второй вариант, поскольку он...
C/C++ Как узнать подключенные COM порты, их названия и количество вообщем хочу написать программу, которая будет автоматически находить нужный COM порт по названию устройства и подключаться к нему. нужно узнать список подключенных COM портов и получить их названия. заранее спасибо https://www.cyberforum.ru/ c-cpp/ thread1362170.html COM out-of-process (ошибка: Класс не зарегистрирован) C/C++
Здравствуйте, гуру COM`а! Возникла проблема, к которой непонятно с какой стороны подойти... Если кто-нибудь поможет – буду премного благодарна! =) У меня есть программа Prog.exe. Она представляет собой что-то типа БД.
C/C++ Использование ActiveX на диалоге элемента управления MFC Если сделать MFC приложение (based on Dialog) и поместить в диалог ActiveX элемент, то всё работает нормально. Нужно, чтобы этот диалог был в элементе управления MFC и от туда грузился. Если на диалоге нет ActiveX, то всё работает и из элемента управления MFC. Но когда помещаем в диалог ActiveX происходит ошибка. https://www.cyberforum.ru/ c-cpp/ thread1340232.html C/C++ Создание COM объекта Доброго времени суток! Есть программа на С++, использующая dll для чтения данных с порта RS232, эту программу надо прикрутить к другой через COM объект с использованием JavaScript. com.cpp #include <iostream> #include <locale> #include <conio.h> #include "SerialGate.h" https://www.cyberforum.ru/ c-cpp/ thread1339920.html
Прозрачность элемента управления ActiveX MFC C/C++
Подскажите, пожалуйста, в чем проблема, уже несколько дней сижу и неполучаеться. Создал элемент управления ActiveX MFC, хочу сделать его прозрачным на форме и не получается у меня. typedef BOOL (WINAPI *lpfnSetLayeredWindowAttributes)(HWND hWnd, COLORREF crKey, BYTE bAlpha, DWORD dwFlags); BOOL Cmy_componentCtrl::OnInitDialog() { lpfnSetLayeredWindowAttributes...
C/C++ AxWindowsMedia Привет всем. Не знаю точно ли выбрал раздел, но мне кажется что, вы мне поможете. В общем добавил я в свой проект как COM-компонент начинку из Windows Media Player, все что мне нужно было сделал, заиграло, хорошо. Вот только когда открыл проект заново: при чём редактор кода не видит никаких ошибок, проект даже компилируется! Не видит компонент только конструктор, как это исправить? Спасибо. https://www.cyberforum.ru/ c-cpp/ thread1307802.html
3 / 3 / 1
Регистрация: 05.07.2013
Сообщений: 39
0

Ошибка в DLL 800401F9 - C/C++ - Ответ 7347157

16.03.2015, 12:14. Показов 2031. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Изучаю технологию COM, возникли некоторые проблемы. Есть код:

IFace.h
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <objbase.h>
#include <initguid.h>
extern "C" 
{
 
    // {BA84A25E-EFF5-4AB7-9A0E-133551BCA8EC}
    extern const IID IID_IX = 
    { 0xba84a25e, 0xeff5, 0x4ab7, { 0x9a, 0xe, 0x13, 0x35, 0x51, 0xbc, 0xa8, 0xec } };
 
    // {6E2E4941-FEE3-4135-9DEC-8C0F23928662}
    extern const CLSID CLSID_Component1 = 
    { 0x6e2e4941, 0xfee3, 0x4135, { 0x9d, 0xec, 0x8c, 0xf, 0x23, 0x92, 0x86, 0x62 } };
 
}
 
interface IX : IUnknown
{
    virtual int __stdcall Fx() = 0 ;
} ;


Сам компонент:
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <iostream>
#include <objbase.h>
#include "REGISTRY.H"
#include "Iface.h"
 
 
void trace(const char* msg) { std::cout << "Component 1:\t" << msg << std::endl ;}
 
 
class CA : public IX
{
    
    virtual HRESULT __stdcall QueryInterface(const IID& iid, void** ppv) ;          
    virtual ULONG __stdcall AddRef() ;
    virtual ULONG __stdcall Release() ;
 
    
    virtual int __stdcall Fx() { return 0;}
 
public:
    
    CA() { m_cRef=0;}
 
 
    ~CA() { }
 
private:
    long m_cRef ;
} ;
 
HRESULT __stdcall CA::QueryInterface(const IID& iid, void** ppv)
{   
    if (iid == IID_IUnknown)
    {
        //trace("Return pointer to IUnknown.") ;
        *ppv = static_cast<IUnknown*>(this) ;
    } 
    else if (iid == IID_IX)
    {
    //  trace("Return pointer to IX.") ;
        *ppv = static_cast<IX*>(this) ;
    }
    else
    {      
        //trace("Interface not supported.") ;
        *ppv = NULL ;
        return E_NOINTERFACE ;
    }
    reinterpret_cast<IUnknown*>(*ppv)->AddRef() ; 
    return S_OK ;
}
 
ULONG __stdcall CA::AddRef()
{
    return InterlockedIncrement(&m_cRef) ;
}
 
ULONG __stdcall CA::Release() 
{
    if (InterlockedDecrement(&m_cRef) == 0)
    {
        delete this ;
        return 0 ;
    }
    return m_cRef ;
}
 
//
// Creation function
//
extern "C" IUnknown* CreateInstance()
{
    IUnknown* pI = static_cast<IX*>(new CA) ;
    pI->AddRef() ;
    return pI ;
}


IDL
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import "oaidl.idl";
import "ocidl.idl";
 
 
[ 
 object, 
 uuid(BA84A25E-EFF5-4AB7-9A0E-133551BCA8EC), 
 helpstring("IX Interface"), 
 pointer_default(unique) 
] 
interface IX : IUnknown 
{ 
  HRESULT Fx(); 
}; 
 
[ 
uuid(CF40076E-C9E5-46F0-88A7-C7971D737474), 
version(1.0), 
helpstring("ПопыткаCOM") 
] 
library COMLIBEPTA
{ 
importlib("stdole32.tlb"); 
 
[ 
uuid(6E2E4941-FEE3-4135-9DEC-8C0F23928662), 
helpstring("CAкласс10")
] 
coclass CA 
{ 
 [default] interface IX;  }; 
};


На выходе получаю dll и tlb. Без проблем регистрируется в системе. Но, при попытке использовать в программе, вываливается с ошибкой:

Не удалось получить фабрику класса COM для компонента с CLSID {6E2E4941-FEE3-4135-9DEC-8C0F23928662} из-за следующей ошибки: 800401f9 Ошибка в библиотеке DLL (Исключение из HRESULT: 0x800401F9 (CO_E_ERRORINDLL)).
Подскажите, пожалуйста, в чем проблема. Уже столько времени с этим бьюсь. Заранее спасибо.

Код тестовой программы:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
// ConsoleApplication12.cpp: главный файл проекта.
 
#include "stdafx.h"
 
using namespace System;
 
int main(array<System::String ^> ^args)
{
    Console::WriteLine(L"Здравствуй, мир!");
    COMLIBEPTA::IX^ test;
    test=gcnew COMLIBEPTA::CAClass;
    return 0;
}


Вернуться к обсуждению:
Ошибка в DLL 800401F9 C/C++
0
Заказать работу у эксперта
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.03.2015, 12:14
Готовые ответы и решения:

Что за ошибка: ошибка '800401f9' ?
Люди добрые помогите пожалуйста. При обращении к БД (MS Access) возникает такое: ошибка '800401f9'...

Ошибка об отсутствии MSVCP140D.dll, ucrtbased.dll, CONCRT140D.dll, VCRUNTIME140D.dll
Добрый день, товарищи. Возникла проблема. Делаю программу с использованием openCV 3.1 на Visual...

Visual Basic + VC++ DLL = ошибка Bad DLL calling convertation
Попытался я написать DLL-ку на VC++, для последующего использования ее в VB. Но поскольку я в VC++...

Ошибка Can't find DLL entry point CryptEnumProvidersA in advapi32.dll
Проблема вот в чем. Объявляем CryptEnumProviderTypesA Private Declare Function...

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

EXE & DLL, DLL не запускается, 500 ошибка
Делаю EXE, скрипт простой, всё работает, на Apache и FPServer. Компилирую в DLL, закидываю на...

Слетели библиотеки .dll При запуске любых приложений на компьютере вылетает ошибка с расширением .dll
Не запускается приложения на windows 8. А также удалились точки доступа Восстановления Системы и...

Spell Checker ошибка: Word cannot find the spelling file mssp3RU.dll or mssp232.dll for Russian (Russia).
object nothing = Missing.Value; Pitayus ispolzivat Spell Checker Word-a tolko vot chto...

При запуске Nero ошибка "Точка входа в процедуру не найдена в библиотеке DLL uNeroErr.dll
Доброй ночи! Помогите пожалуйста чайнику! При запуске Nero выскакивает ошибка: Точка входа в...

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