catchy87 Ответов: 1

Пытался позвонить управляемого кода C++ из VB .Продажи через COM(VB.NET --&ГТ; сом --&ГТ; управляемый c++))


Всем Привет,

Я пытаюсь вызвать управляемый код C++ из COM-компонента и в то же время пытаюсь вызвать этот COM-компонент из VB.Net.

Пробовал так много примеров, но ни один из них не работает.

Кто-нибудь может мне помочь с некоторыми указателями.

***** Запуск управляемого кода C++ ************
namespace PrjManagedCpp {

	public ref class Class1
	{
		static void Display();
		
	};
}


***** Управляемый конец кода C++ ************


заранее спасибо,
Санджеев

Что я уже пробовал:

1. Созданный Управляемый Код C++ :
пространство имен PrjManagedCpp {

public ref class Class1
{
статический дисплей пустоты();

};

2. Созданный файл TLB для управляемого кода C++.
3. Писал частичной com-компонент с помощью TLB файл.
код #include "файл stdafx.ч"
#включить "CallCpp. h"
#import "D:\C++ Projects\PrjManagedCpp\Debug\PrjManagedCpp.tlb"


STDMETHOD IMP CCallCpp:: CallDisplayMethod(void)
{
HRESULT hRes = S_OK;
CoInitialize(NULL);

//Хотел написать здесь какой-то код, чтобы он вызывал метод из управляемого C++

CoUninitialize();
возвращает значение s_ok;
}

4. создал кнопку вкл. VB.Net, и при нажатии этой кнопки я хотел бы вызвать метод COM, который внутренне вызовет метод управляемого кода

1 Ответов

Рейтинг:
0

KarstenK

Взгляните на это серия тонких статей а это Ответы на вопросы и ответы который я легко нашел с помощью Google и убежден, что там все в порядке.

У меня есть еще один важный совет:

CoInitialize(NULL);//the call takes really CPU-time


потому что некоторые библиотеки DLL загружены и некоторый код запущен. Сделайте это в конструкторе объекта или в дополнительной функции init, чтобы избежать головной боли и сбоев. ;-)


catchy87

Привет Карстенк,

Спасибо за помощь и предложение.

Ваше предложение помогло мне двигаться вперед, но в приведенном выше примере нет COM-компонента между VB.Чистый и управляемый C++.

Без COM-компонента вышеприведенный пример подойдет, но я ищу решение, которое будет включать COM между VB.Чистый и управляемый C++.

заранее спасибо,
Санджеев