Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: СРОЧНО: С++ И ВБ Добавлено: 03.07.05 22:58  

Автор вопроса:  Дмитрий Щапов
СРОЧНЕЕ НЕКУДА:
1) В С++ создать длл c глобальным классом и юзать его в ВБ. Нифига даже с MFC не получается.
2) Вызывать функции ВБ из С++. Я уже спрашивал, но , блин, поиск нифига не ищет - на всё одна ошибка.

Ответить

  Ответы Всего ответов: 12  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 04.07.05 03:02
1. Берём один из визардов шестой студии, тот, который создаёт COM-класс. Получаем рыбу этого класса. Вставляем в неё код. Компилируем. RegSvr32.exe. Юзаем из VB.
2. Читаем MSDN: хау ту юз COM обджектс фром C++.

Ответить

Номер ответа: 2
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #2 Добавлено: 05.07.05 03:11
1)ВБ Не видит функции. Мож я не так делаю:
class Engine2D :
public IDispatchImpl<IEngine2D, &IID_IEngine2D, &LIBID_ENGINE2DLib>,
public ISupportErrorInfo,
public CComObjectRoot,
public CComCoClass<Engine2D,&CLSID_Engine2D>
{
public:
Engine2D() {}
void AA3(){}
BEGIN_COM_MAP(Engine2D)
COM_INTERFACE_ENTRY(IDispatch)
COM_INTERFACE_ENTRY(IEngine2D)
COM_INTERFACE_ENTRY(ISupportErrorInfo)
END_COM_MAP()
//DECLARE_NOT_AGGREGATABLE(Engine2D)
// Remove the comment from the line above if you don't want your object to
// support aggregation.

DECLARE_REGISTRY_RESOURCEID(IDR_Engine2D)
// ISupportsErrorInfo
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
void AA2(){}
// IEngine2D
public:
void AA1(){}
};

И ни одну из 3х не видит, Где и как их надо объявлять
2)Не, мсдн - это перебор, да и попробуй найди чё-нить. Хорошо если (не)сразу попадёшь на нужный раздел... там типа
asm{pop AA
push XX
call Back}

Ответить

Номер ответа: 3
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #3 Добавлено: 05.07.05 05:18
1. http://bbs.vbstreets.ru/viewtopic.php?p=126533#126533
2. Ещё ни разу не видел в MSDN такого.
И это не перебор, а самое то.

Ответить

Номер ответа: 4
Автор ответа:
 DaSharm



ICQ: 780477 

Вопросов: 72
Ответов: 1297
 Web-сайт: dasharm.com
 Профиль | | #4
Добавлено: 05.07.05 19:25

progz.ru

Ответить

Номер ответа: 5
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #5 Добавлено: 12.07.05 23:49
А как объявить переменную(в С++, но не Property Get/Let) чтоб из VB её спокойно использовать.

Ответить

Номер ответа: 6
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #6 Добавлено: 12.07.05 23:50
Причем тип из внешней библиотеки(виндовская какая-нить).

Ответить

Номер ответа: 7
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #7 Добавлено: 13.07.05 23:13
Ну или объявить Property в длл на С++ с типом допустим LPDIRECTDRAW7?

Ответить

Номер ответа: 8
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #8
Добавлено: 14.07.05 00:31
Боюсь, что никак. Если ты хочешь инкапсулировать DirectX в сишной DLL, лучше сделай ее объектом, который будет инкапсулировать все интерфейсы, и, в частности, будет скрывать указатель на интерфейс DirectDraw.

Ответить

Номер ответа: 9
Автор ответа:
 AASoft



Вопросов: 86
Ответов: 920
 Профиль | | #9 Добавлено: 14.07.05 01:00
nu, mozhne ved` sdelat` funkciyu kotoraya tebe return'et` etot object...

Ответить

Номер ответа: 10
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #10
Добавлено: 14.07.05 05:46
Тогда не называй это Property.

Ответить

Номер ответа: 11
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #11 Добавлено: 14.07.05 18:27
ну вообще я просто хочу написать пару функций.
Что такое с oleautomation? Как мне объявить тип (пару указателей (на интерфейс) и пару переменных)
. Он мне выдает warning:"это не совместимо с oleautomation" - что-то в этом роде, но плохо не это, плохо то, что в VB я не могу объявить переменную этого типа, хотя всё видит.

Ответить

Номер ответа: 12
Автор ответа:
 Дмитрий Щапов



Вопросов: 71
Ответов: 321
 Профиль | | #12 Добавлено: 15.07.05 00:55
Хххорошо.
А как дело обстоит с событиями?
Можно конечно сделать вручную(pop;pop;call...), но хотелось бы натуральное событие.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам