Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
 Аватар для scripVB
6 / 6 / 2
Регистрация: 06.03.2013
Сообщений: 79

DLL(Delphi) для vb

29.01.2017, 22:49. Показов 1924. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток народ! Сообственно сама проблема:
сама функция в делфи
Delphi
1
2
3
4
5
6
7
8
9
10
11
function ssCase(x:integer):PChar;stdcall;
//var st: string;
begin
case x of
1: st:='XOPOIIIO';
end;
  Result:= PChar(st);
end;
 exports ssCase;
begin
end.
При выполнении vb просто вылетает
Visual Basic
1
2
3
4
Private Declare Function ssCase Lib "C:\Users\User\Desktop\dll\Project1.dll" (ByVal x As Integer) As Integer
Private Sub Form_Load()
MsgBox (ssCase(1))
End Sub
как я пологаю ошибка в передачи результат из длл в вб с размерами переменных а может и нет помогите кто чем может в чем ошибка?
как правильно вызвать в вб?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.01.2017, 22:49
Ответы с готовыми решениями:

Нужна Dll для exe msvbm70b.dll
Привет у меня есть exe просит Dll msvbm70b.dll, пришлите плз. Спасибо!

Создание dll в delphi для 1С
Есть dll без исходников, для нее есть интерфейс на delphi. Стоит задача подружить эту библиотеку с 1С. На сколько понял с прочитанного в...

DLL и LIB в Delphi для VisualC++
Кто может детально объяснить как подготовить файлы DLL и LIB на Delphi6 для использования в VisualC++

9
...
 Аватар для ji2n
39 / 37 / 13
Регистрация: 08.10.2016
Сообщений: 173
29.01.2017, 23:17
А она не cDecl?

Добавлено через 7 минут
Почитай тут Работа с DLL в Visual Basic (статья)
0
 Аватар для scripVB
6 / 6 / 2
Регистрация: 06.03.2013
Сообщений: 79
29.01.2017, 23:19  [ТС]
ji2n, Эмм?

Добавлено через 1 минуту
ji2n, Мне нужно понять соотнешение переменных (строковых) в делфи и вб или как записать в делфи и прочитать в вб
0
...
 Аватар для ji2n
39 / 37 / 13
Регистрация: 08.10.2016
Сообщений: 173
29.01.2017, 23:39
Кстатьи, Integer Delfi = Long VB вроде как, попробуй
Visual Basic
1
MsgBox (ssCase(1&))
так

Добавлено через 15 минут
А соотношение переменных (строковых), в VB String и всё. Её можно объявить нужной длины или как вариант еще байтовый массив использовать.
0
 Аватар для scripVB
6 / 6 / 2
Регистрация: 06.03.2013
Сообщений: 79
29.01.2017, 23:55  [ТС]
ji2n, Результат получается 2545

Добавлено через 29 секунд
a гдеж мое XOPOIIIO
0
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
30.01.2017, 00:00
Строки из DLL передаются как ссылка, по указателю.
0
...
 Аватар для ji2n
39 / 37 / 13
Регистрация: 08.10.2016
Сообщений: 173
30.01.2017, 00:11
Так от функции ты ждешь String?, А из объявления она возвращает Integer!
Попробуй:
Visual Basic
1
Private Declare Function ssCase Lib "C:\Users\User\Desktop\dll\Project1.dll" (ByVal x As Integer) As String
И, навсякий случай:
Visual Basic
1
2
3
dim s as String * 6
s = ssCase(1&)
msgbox s
Добавлено через 5 минут

Добавлено через 1 минуту
Цитата Сообщение от Pro_grammer Посмотреть сообщение
Строки из DLL передаются как ссылка, по указателю.
Запамятовал, возврат тоже?
1
 Аватар для scripVB
6 / 6 / 2
Регистрация: 06.03.2013
Сообщений: 79
30.01.2017, 07:26  [ТС]
ji2n, Спасибо, еще вопрос а без фиксации длины переменной или нужно всегда знать длину?
0
Модератор
10057 / 3902 / 884
Регистрация: 22.02.2013
Сообщений: 5,853
Записей в блоге: 79
30.01.2017, 10:05
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

scripVB, нужно сначала изучить типы данных VB6. String - это BSTR, вот и нужно возвращать BSTR.
2
 Аватар для scripVB
6 / 6 / 2
Регистрация: 06.03.2013
Сообщений: 79
30.01.2017, 18:02  [ТС]
The trick, спасибо, а есть наглядный пример?) просто тяжело немного в одиночного понять(

Добавлено через 1 час 1 минуту
Все спасибо нашел ответ!!!
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.01.2017, 18:02
Помогаю со студенческими работами здесь

Создание dll на C# для Delphi Embarcadero RAD Studio XE7
Подскажите, пожалуйста, как создать dll на c# для использования её в проекте на Delphi в среде Embarcadero RAD Studio XE7 (Что не...

Как подключить dll, написанную на C, к dll на Delphi
Добрый день! Нужно подключить dll написанную на C к dll на Delphi. Как это можно сделать и можно ли вообще?

Генерация событий сервером dll (.NET) для клиента exe (Delphi) в отдельном потоке
Здравствуйте, господа. Имею обратиться к вам, дабы не потерять веру в светлое будущее. Вкратце: есть dll-ка на C# .NET 3.5. ...

Есть исходник DLL на Delphi как (и возможно ли) написать похожее на VB.NET и использовать в среде программы написанной на Delphi
Суть вопроса вкратце такова - Есть исходник DLL написанной на Delphi Library Extdll; uses SysUtils, Windows; type ...

Использование String Tables в .dll(.dll.mui) (Для VB .NET)
Здравствуйте. Нужно извлечь(а потом запоковать) таблицу строк(string tables ). Допустим есть файл explorerframe.dll.mui из...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
BOINC: 22 года — и всё ещё работает
Programma_Boinc 12.03.2026
BOINC: 22 года — и всё ещё работает Дэвид Андерсон написал ретроспективу. Кратко: в 2001 году он ушёл из United Devices, где был CTO, и за несколько месяцев написал ядро BOINC — клиент, сервер,. . .
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru