Гость
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При вызове функции из DLL с параметрами ByRef VB происходит завершение программы / 18 сообщений из 18, страница 1 из 1
08.08.2018, 10:36
    #39684653
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Добрый день,
есть сторонняя DLL, есть несколько функций, пример
Declare Function имя_функции "длл.dll" (ByVal переменная As String,ByVal переменная As Integer,.... ByVal переменная As Single, ByRef переменная As Any, ByRef переменная As Any, ByRef переменная As Any) As Long
Объявила в модуле, вызываю в форме x=имя_функции(параметры ByVal, ....переменные ByRef)
Print x
Что делаю не так?
...
Рейтинг: 0 / 0
08.08.2018, 11:03
    #39684679
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
A какой тип у переменной, передаваемой ByRef? надо же передавать адрес, да к тому же правильно полученный.
...
Рейтинг: 0 / 0
08.08.2018, 13:56
    #39684815
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Akina,

некоторые as Any, некоторые пользовательский
...
Рейтинг: 0 / 0
08.08.2018, 14:22
    #39684832
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
А DLL вообще знает о существовании типов и способах их хранения именно в той форме, которая принята в VB? умеет разбираться, что именно ей подсунули? она небось по дури-то своей ожидает стандартно-сишные параметры...
...
Рейтинг: 0 / 0
08.08.2018, 14:36
    #39684838
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Akina,
Не могу сказать, но мне передали файл где указано как обЪявить и как вызвать функцию, также дали БД в формате .dat и .idx, смысл в том что вызавая одну из функций нам должны возвратится несколько моделей оборудования с теми кретериями которые мы внесли + остальные те что ByRef , но при вызове завершается программа и в папке появлвются дополнительные файлы с форматом .dat и .idx , а имя произвольное
...
Рейтинг: 0 / 0
08.08.2018, 15:08
    #39684866
by-pass
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
shushan,
Правильнее - аварийно завершается работа программы.
99% что это связано с неправильном переданными в DLL типами переменных.
...
Рейтинг: 0 / 0
08.08.2018, 15:27
    #39684883
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
by-passshushan,
Правильнее - аварийно завершается работа программы.
99% что это связано с неправильном переданными в DLL типами переменных.
Хорошо,
Смотрите если тип "as any" в функции, как мне объявить переменную когда вызываю функцию
пример
код модуля
Declare Function GetPoints Lib "Select.dll" (ByVal Type As String, ByVal Size As String, ByVal RPM As Integer, ByVal Diffuser As Integer, ByRef CPoints As Any, ByRef SPoints As Any, ByRef BPoints As Any) As Long
код формы
Dim Type As String
Dim Size As String
Dim RPM As Integer
Dim Diffuser As Integer
Dim CPoints,SPoints,BPoints
dim x as long
x=GetPoints("asd","4",15,45,CPoints,SPoints,BPoints)
...
Рейтинг: 0 / 0
08.08.2018, 16:06
    #39684909
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
У Вас есть РАБОТАЮЩИЙ пример использования этой функции - от разработчика или того, кто Вам эту хрень передал?
...
Рейтинг: 0 / 0
08.08.2018, 16:11
    #39684915
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Dim CPoints,SPoints,BPoints

это неправильно, скорее всего там что-то типа такого должно быть:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
Dim CPoints as Long
Dim SPoints as Long
Dim BPoints as Long

CPoints = 0
SPoints = 0 
BPoints - 0

x=GetPoints("asd","4",15,45, CPoints, SPoints, BPoints)
...
Рейтинг: 0 / 0
08.08.2018, 16:41
    #39684933
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Konst_One , да ещё как бы не VARPTR().
...
Рейтинг: 0 / 0
08.08.2018, 16:47
    #39684938
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
вот тогда пусть обращается к разработчикам DLL
...
Рейтинг: 0 / 0
08.08.2018, 17:49
    #39684976
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
AkinaУ Вас есть РАБОТАЮЩИЙ пример использования этой функции - от разработчика или того, кто Вам эту хрень передал?

нет, есть exe программа,написанная на Vb, и ее dll мне дали
...
Рейтинг: 0 / 0
08.08.2018, 17:52
    #39684977
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Akina Konst_One , да ещё как бы не VARPTR().
т.е возможно в функции при обЪявлении была использована функция VARPTR?
...
Рейтинг: 0 / 0
08.08.2018, 19:35
    #39685031
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
shushanесть exe программа,написанная на Vb, и ее dll мне далиВот бери исходник ЭТОЙ программы и в нем смотри, как определяются передаваемые туда переменные и как они собственно передаются.
...
Рейтинг: 0 / 0
08.08.2018, 20:37
    #39685049
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
Akinashushanесть exe программа,написанная на Vb, и ее dll мне далиВот бери исходник ЭТОЙ программы и в нем смотри, как определяются передаваемые туда переменные и как они собственно передаются.
не дают
...
Рейтинг: 0 / 0
08.08.2018, 20:38
    #39685051
ATM-TURBO 2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
shushan,

Кидай dll и код вызова.
...
Рейтинг: 0 / 0
08.08.2018, 22:34
    #39685104
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
shushanне даютТогда требуй предоставления минимального тест-приложения. РАБОТАЮЩЕГО. Как принято у всех авторов библиотек и контролов.

А если не дадут - посылай нахрен. Причина убойная - те, кто дал библиотеку, СОЗНАТЕЛЬНО не дают информации, необходимой для создания тобой приложения. Саботажники, короче - но ты тут при чём?
...
Рейтинг: 0 / 0
09.08.2018, 08:52
    #39685200
shushan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
При вызове функции из DLL с параметрами ByRef VB происходит завершение программы
ATM-TURBO 2shushan,

Кидай dll и код вызова.
К сожалению не могу дать длл, подписала NDA(((
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / При вызове функции из DLL с параметрами ByRef VB происходит завершение программы / 18 сообщений из 18, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]