Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.30;
Скачать: CL | DM;

Вниз

Ворпрос про VB   Найти похожие ветки 

 
KSergey ©   (2008-02-15 18:12) [0]

Пытался спросить в тематической конференции на SQL.ru, но чета почти безуспешно.

Может тут кто что подскажет. Беда в том, что хотелось бы сразу маленький рабочий код :)

Проблема:
Необходимо из C++ проги вызвать функцию, которая находится в VB"шной dll. Прототип этой функции (в терминах С++) таков:

void VBfoo(char* strData);

При вызове VBfoo параметр strData указывает на некий буфер, содержащий null-terminated строку.

Проблемы:
а) как описать эту функцию на VB;
б) как переданные данные через strData переделать к типу VB String.

Почитамши форум уже понял, что надо рассматривать даный параметр как массив байт и копировать посимвольно в VB-строку до первого нуля. Беда, однако, в полном отсутсвии знаний у меня синтаксиса VB, из-за чего не могу нацарапать декларацию данной функции на VB. А мне надо пример написать для пользователей VB...

Я честно искал по форуму и тынтету. Но мне попадались только "обратные случаи", когда в VB выделается буфер и уже он заполняется внешней функцией.

----------------
Мне верно возразили, что "DLL, создаваемые VB (4-6), являются ActiveX DLL. Это значит, что в DLL не будет точки входа VBfoo..."
Но просто описывать как оно на самом деле - не очень охота чтобы излишне не путаться, пусть считаем, что это возможно (на самом деле exe - на VB, из него вызывается функция из dll-ки на C++, в которую передается адрес callback внутри VB проги).

Вот ветка на sql.ru
http://sql.ru/forum/actualthread.aspx?tid=525748


 
Правильный_Вася   (2008-02-15 18:25) [1]


> Проблема:Необходимо из C++ проги вызвать функцию, которая
> находится в VB"шной dll.
> Проблемы:а) как описать эту функцию на VB;

какое-то противоречие - функция уже есть или ее только писать?
если писать, то нафига в бейсике?


 
palva ©   (2008-02-15 20:11) [2]

На VB нельзя написать обычную dll, к которой можно было бы обратиться по написанному вами прототипу. В VB 6.0 можно написать ActiveX библиотеку. В VB .NET можно написать нетовскую dll, к которую из Windows приложения тоже не понятно как вызывать.


 
KSergey ©   (2008-02-18 09:59) [3]

> Правильный_Вася   (15.02.08 18:25) [1]
> какое-то противоречие - функция уже есть или ее только писать?
> если писать, то нафига в бейсике?

Нужно написать пример, пример использования. На VB.

> palva ©   (15.02.08 20:11) [2]

Я тама под чертой специально написал ответ ан это вопрос.
Еще раз: все не так, но неужели это так принципиально?

Задача: из VB программы вызывается процедур. Вызывающая сторона на C++ предполагает такой прототип:

void VBfoo(char* strData);

Вопрос: как на VB написать функцию, которая бы подошла к такому прототипу?



Страницы: 1 вся ветка

Текущий архив: 2008.03.30;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.044 c
2-1204781974
Lamer666
2008-03-06 08:39
2008.03.30
Проблемы DbGridEh!


2-1204289846
Knoob
2008-02-29 15:57
2008.03.30
Какой функцией можно просмотреть каталог


8-1177139219
borodaj
2007-04-21 11:06
2008.03.30
Работа с изображениями...


15-1202826005
arreke
2008-02-12 17:20
2008.03.30
AnimationEffect


15-1203212318
korneley
2008-02-17 04:38
2008.03.30
Аудит Wi-Fi сетей