Форум программистов, компьютерный форум, киберфорум
C/C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C/C++ Singleton в ATL или single-instance object Всем Привет! Кратко: ATL библиотека в Visual Studio 2017 создает Singleton решение. Мне оно НЕ НУЖНО. Что я делаю не так? Шаги (элементарный пример): 1.Файл - создать проект ATL - "ATLProject1" "тип приложения dll", "проверка в жизненном цикле...", т.е. настройки по умолчанию. 2.Далее проект-новый элемент-библиотека ATL-простой объект ATL - "ATLSimpleObject"(в Visual Studio 2015 - через... https://www.cyberforum.ru/ c-cpp/ thread2206630.html C/C++ Как передать SAFEARRAY в C#?
Есть такой метод в C++ библиотеке (метод не мой, почему написан именно так не знаю): //CEncrypt STDMETHODIMP CEncrypt::RC4Encrypt(char *data, const char *password, SAFEARRAY **result) { RELEASE_TRY { size_t sz = strlen(data); RC4_Session rec; rec.data = data;
C/C++ Изучение COM, C++ ATL 2 https://www.cyberforum.ru/ c-cpp/ thread2187619.html
Добрый день. Нужно написать alt com-server и многооконный mfc-client. По нажатию на кнопку в client открыть новое окно, передать на server "что-то" (xy?), нарисовать круг на server, вывести в client круг. Мне нужен самый простой пример как это сделать, дальше разберусь... Вот что я делаю сейчас... Событие:
C/C++ Изучение COM, C++ ATL Добрый день. Ищу самый простой материал по изучению технологии COM. Нужно создать COM полигон и вывести его в MFC окно. Везде очень старый или практически не понятный материал. Хотелось бы на пальцах понять как это работает. Заранее благодарю! Добавлено через 22 часа 27 минут Нашел одно интересное пособие и собственно получилось сделать калькулятор. При билде x86 всё замечательно... https://www.cyberforum.ru/ c-cpp/ thread2180834.html
C/C++ Как вызвать несколько методов у класса сразу?
Здравствуйте, нужна помощь. У меня есть класс: #pragma once using namespace System; using namespace System::Windows::Forms; ref class MyClass { public: String^ getErrMsg()
C/C++ ActiveX и C++ https://www.cyberforum.ru/ c-cpp/ thread2150557.html
Какой макрос в ActiveX и C++ используется для вывода сообщения ?
C/C++ Выделенные ячейки https://www.cyberforum.ru/ c-cpp/ thread2144897.html
Доброго времени суток Подскажите, пожалуйста, как получить номера строки и столбца: - верхней левой ячейки выделенного диапазона - число строк и столбцов выделенного диапазона - активной ячейки, если выделения нет (выделено 0 строк и столбцов) До сих попадалось обращение к заранее известным диапазонам\ячейкам, а это немного не то: Variant vVarCell;...
Взятие строки из открытого файла в MS Word C/C++
Основная проблема вопроса заключается в том, что довольно много есть гайдов в интернете и на русском и на инглише, о работе с API ворда через OLE и COM объекты, однако я не встречал еще ни одного гайда, про то, как считывать информацию из тектового файла. Сам вопрос таков, как с помощью Type lib MFC классов word'а, представленных на сайте msdn...
C/C++ Свойства объекта ActiveX https://www.cyberforum.ru/ c-cpp/ thread2079565.html
Друзья, как сделать чтобы в свойствах можно было изменить форму объекта? Создал кнопку овальной формы, по щелчку ЛКМ меняется ее цвет. Создал дополнительную страницу в свойства, добавил чекбокс, но не знаю как теперь связать этот чекбокс с формой кнопки.
C/C++ Чтение бита четности Здравствуйте. У меня есть вопрос: Как считать бит четности через с++? Написана программа которая будет общаться с устройством через компорт, передача и прием, и по ТЗ нужно использовать 9й бит для проверки. Пока все реализовано через виртуальные порты и на одном конце программа посылает сигналы а на другом возвращает обратно. И метод проверки - это устанавливать разные настройки в этих... https://www.cyberforum.ru/ c-cpp/ thread2063114.html
C/C++ Из StringGrid в Word по шаблону
Есть шаблон Word с закладками. Вывожу в него данные из StringGrida при помощи кода: void __fastcall TForm5::Button2Click(TObject *Sender) { bool DontOverwrite = true; Variant v2,v1, vApp, vDocs, vDoc, vSelection; String vAsCurDir=GetCurrentDir();
C/C++ MSWord - графический фильтр для CGM-файлов https://www.cyberforum.ru/ c-cpp/ thread2030115.html
Как можно определить с помощью OLE установлен ли в Office компонент для работы с графическими файлами (в том числе и метафайлами). В программе используется вставка в Word довольно редкого для Windows типа метафайла CGM. Если такой компонент установлен, то вставка картинки с помощью InlineShape.AddPicture выполняется, иначе Word выдает сообщение об исключении (что-то вроде Графический фильтр не...
3 / 2 / 2
Регистрация: 21.03.2017
Сообщений: 288
0

Почему не создаётся итерфейс - C/C++ - Ответ 12226016

19.03.2018, 02:19. Показов 1592. Ответов 3
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Возникла необходимость в приложение, написанное на С++ в Visual Studio 2008, ввести шифрование AES256.
Зная, что это уже реализовано во framework'е .Net решил использовать это в своём приложении. Для начала решил написать небольшой прототип, чтобы научиться передавать данные между разными технологиями.
Написал библиотеку на C#: интерфейс, собственно класс - всё как в примерах, скомпилировал, подписал, добавил в проект.
Вот код этой части.

C++.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Runtime.InteropServices;
 
namespace Aes256Decoder
{
    [Guid("50DEC93A-8238-492D-AFFE-857A52A2BF76")]
    public interface IAes256Decoder
    {
        void SayHello(byte[] name);
    }
 
    [ClassInterface(ClassInterfaceType.None)]
    [Guid("18116CE5-B075-4C3F-8D8F-576237A8ABEF")]
    public class CAes256Decoder : IAes256Decoder
    {
        public void SayHello(byte[] name)
        {
            String.Format("Hello, {0}!", name);
        }
    }
}
В функции main С++ приложения пытаюсь вызвать метод SayHello вот таким образом:
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
//********************************************************************************************************
// Import ,Net library
#import "..\Aes256Decoder\Aes256Decoder\Aes256Decoder\bin\Debug\netstandard1.4\Aes256Decoder.tlb" named_guids raw_interfaces_only
using namespace Aes256Decoder;
//********************************************************************************************************  
 
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE /*hPrevInstance*/, LPTSTR lpstrCmdLine, int nCmdShow)
{
//********************************************************************************************************  
    CoInitialize(NULL);   //Initialize all COM Components
        
    // <namespace>::<InterfaceName>
    Aes256Decoder::IAes256DecoderPtr pAes256DecoderPtr;
 
    // CreateInstance parameters
    // e.g. CreateInstance (<namespace::CLSID_<ClassName>)
    pAes256DecoderPtr.CreateInstance(Aes256Decoder::CLSID_CAes256Decoder);
    unsigned char bName[] = "Andrew";
    SAFEARRAY* name = SafeArrayCreateVector(VT_UI1, 1, sizeof(bName));
    name->pvData = reinterpret_cast<void*>(bName);
    pAes256DecoderPtr->SayHello(name);
 
//********************************************************************************************************
....
Опять же, как в примере
Но при отладке вижу, что в строке pAes256DecoderPtr.CreateInstance(Aes256Decoder::CLSID_CAes256Decoder) указатель pAes256DecoderPtr равен NULL, и, как следствие, метод SayHello не вызывается.
Код скопировал с примера с точностью до имён переменных. Что не так? Почему не работает? Как-то нужно инициализировать указатель pAes256DecoderPtr - а как? В примере нет ничего, а сам я в этой области не силён. Может, кто знает, что не так делаю?

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

Почему не создается нормальная матрица
#include &quot;stdafx.h&quot; #include &lt;windows.h&gt; #include &lt;iostream&gt; #include &lt;iomanip&gt; using namespace...

Почему не создается дочернее окно?
Создаю главное окно и дочернее, ни одно из них не создается, а на дочернем вылетает ошибка ...

Почему не создается второй объект класса?
#include &lt;string&gt; // Заголовочный файл students.h class students { public:...

Почему не создается специализация шаблона функции
Почему это не работает и как правильно определить operator&lt;&lt; вне тела класса? #include...

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

Почему БЕЗОШИБОЧНО создаётся файл, а его не видно?
Друзья! Вот простой код, создаётся файл, а имя для него генерит функция tmpnam; Но файла не...

Не создаётся объект string на ровном месте! Почему?
Ребята, чё-то я не пойму: #include &lt;string&gt; #include &lt;stdio.h&gt; #include &lt;iostream&gt; using...

Файловый ввод-вывод. Почему не создается/открывается файл?
IDE CodeBlocks Компилятор MinGW 20120426 Вот код: ifstream in(&quot;C\\vvod.in&quot;); ofstream...

Почему поток в создаётся в зависимости от функции, которая в нём вызывается?
Почему поток в создаётся в завсимости от функции, которая в нём вызывается? То есть на самом...

Почему два раза создаётся объект с ОДНИМ И ТЕМ ЖЕ ИМЕНЕМ?
#include &lt;windows.h&gt; #include &lt;iostream&gt; using namespace std; class arr{ public: ...

Почему при инициализации строки, сначала создаётся пустой объект?
Чтобы при создании присвоить строке какое-то значение, можно использовать два способа: string...

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