Форум: "Прочее";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
ВнизВорпрос про 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.043 c