как подружить VB и Borland Bilder C++ 6

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

как подружить VB и Borland Bilder C++ 6

Сообщение DimPos » 16.04.2013 (Вт) 19:48

Мой коллега пишет dll на С++ и при использовании ее в моем проекте возникают ошибки что dll по указанному пути не найдена, и что не найдена точка входа (имя функции). Сама скомпилированная dll лежит в корне проекта. Функция должна возвращать сумму 2 чисел.
декларация длл в VB
declare function Summ lib "MyTestLib.dll" (byval a as integer, byval b as integer) as integer
вызов (все переменные объявлены явно в процедуре)

Var= Summ (var1,var2)

По какой причине могут возникать подобные ошибки, если подскажете где можно почитать о совместимости Borland и VB буду очень признателен

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: как подружить VB и Borland Bilder C++ 6

Сообщение ger_kar » 16.04.2013 (Вт) 19:58

DimPos писал(а):где можно почитать о совместимости Borland и VB буду очень признателен
Совместимость здесь вообще не причем. Скорее всего библиотека написанная на Borland Bilder C++ импортирует функции из другой библиотеки, которой у тебя нет. Вот тебе и ошибка. Не знаю как Borland Bilder C++, а вот с Delphi дело обстоит именно так. Скорее всего и с билдером также. Что-бы точно найти чего хочет библиотека, и чего она не может найти и открыть. Нужно точно выяснить какие библиотеки используются (это надо выяснить у коллеги). Посмотреть у этой библиотеки иморты или воспользоваться в рантайме утилитой FileMon.
Бороться и искать, найти и перепрятать

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Re: как подружить VB и Borland Bilder C++ 6

Сообщение DimPos » 16.04.2013 (Вт) 20:20

Я спрашивал у него что есть в заголовке DLL, он утверждает что там только "библиотека визуальных компонентов" и что мне он ее скопировать не сможет (видимо это часть среды разработки). Тем не менее это возможный ответ на первый вопрос.
А как быть с функциями длл начинающихся с нижнего подчеркивания _FunName

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: как подружить VB и Borland Bilder C++ 6

Сообщение ger_kar » 16.04.2013 (Вт) 20:25

DimPos писал(а):что мне он ее скопировать не сможет (видимо это часть среды разработки)
Скорее не хочет. Ну и пес с ним. Зная, что это за библиотека, можно найти и скачать оную из интернета.
DimPos писал(а):А как быть с функциями длл начинающихся с нижнего подчеркивания _FunName
Ну объявить их без подчеркивания и использовать ключевое слово Alias в объявлении.
Бороться и искать, найти и перепрятать

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 16.04.2013 (Вт) 20:39

DimPos писал(а):declare function Summ lib "MyTestLib.dll" (byval a as integer, byval b as integer) as integer

Почему Integer? На Си используется тип short?

DimPos писал(а):и что не найдена точка входа (имя функции)

Потому что она называется не так. Скачай Dllexp и посмотри имя.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: как подружить VB и Borland Bilder C++ 6

Сообщение ger_kar » 16.04.2013 (Вт) 20:45

Qwertiy писал(а):Скачай Dllexp и посмотри имя.
Dllexp удобнее чем Dependency Walker из состава VS6?
Бороться и искать, найти и перепрятать

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Re: как подружить VB и Borland Bilder C++ 6

Сообщение DimPos » 16.04.2013 (Вт) 21:01

Qwertiy писал(а):Почему Integer? На Си используется тип short?


На си используются двухбайтовые переменные, а со знаком или без в данном случае не важно- это тестовая функция для согласования интерфейса и значения не будут отрицательными и более 32000

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 16.04.2013 (Вт) 21:04

ger_kar писал(а):Dllexp удобнее чем Dependency Walker из состава VS6?

Не пользовался им. И не могу найти, где он находится...

DimPos писал(а):На си используются двухбайтовые переменные

В смысле? Ты таким образом подтверждаешь, что на Си++ тип short или unsigned short?

DimPos писал(а):и значения не будут отрицательными и более 32000

Для Си это не важно.

ger_kar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1957
Зарегистрирован: 19.05.2011 (Чт) 19:23
Откуда: Кыргызстан, Иссык-Куль, г. Каракол

Re: как подружить VB и Borland Bilder C++ 6

Сообщение ger_kar » 16.04.2013 (Вт) 21:21

Qwertiy писал(а):Не пользовался им. И не могу найти, где он находится...

Microsoft Visual Studio 6.0>Microsoft Visual Studio 6.0 Tools>Depends
Бороться и искать, найти и перепрятать

DimPos
Обычный пользователь
Обычный пользователь
 
Сообщения: 60
Зарегистрирован: 15.11.2002 (Пт) 17:24
Откуда: Киров

Re: как подружить VB и Borland Bilder C++ 6

Сообщение DimPos » 16.04.2013 (Вт) 21:28

DimPos писал(а):В смысле? Ты таким образом подтверждаешь, что на Си++ тип short или unsigned short?

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


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Majestic-12 [Bot] и гости: 8

    TopList