powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Передача параметров при вызове функции из dll
7 сообщений из 7, страница 1 из 1
Передача параметров при вызове функции из dll
    #34882868
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть потребность вызвать функцию в повер-скрипте из библиотеки dll.
Если б я подключал бы ее в Си-шный проект, то я б объявил ее прототип как: bool RxFrameUSB(DWORD To, unsigned char &ADD, unsigned char &CMD, unsigned char &N, unsigned char *Data). Объявил я ее в Global External Function и загвоздка в передаче последнего параметра. Во-первых типа unsigned char нет в PowerBuilder-е - чем его можно заменить? Во-вторых параметр нужно передать ссылкой... Вот мой вариант: FUNCTION boolean RxFrameUSB(long Timeout, ref uint ADDR,ref uint CMD, ref uint N, ref uint data[] ) LIBRARY "wusb32.dll" и вызываю я ее: RxFrameUSB(500,addr,cmd,n, data[]), где data[] объявлена как uint data[100]. Все параметры передаются ок, а в буфер data[] ничего не записывается. В чем моя ошибка? Заранее благодарен за любую помощь!
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883014
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
bool RxFrameUSB(DWORD To, unsigned char &ADD, unsigned char &CMD, unsigned char &N, unsigned char *Data)
это обьявление для неюникодовой версии билдера:
Код: plaintext
function boolean RxFrameUSB(long timeout, ref string ADDR, ref string CMD, ref string N, ref string Data) library "wusb32.dll"

unsigned char &X
можно заменить еще на
string X //без ref

в этом случае будет передаваться ссылка на копию билдеревской строки.
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883015
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вот только сообразил а причем здесь сервера БД Sybase?
вам в другой форум.
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883199
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сервера баз данных вобщем-то как бы ни при чем, но у меня есть программно-аппаратный комплекс, который использует данные, хранимые в базе Sybase, на портативных устройствах моей разработки. И их нужно связать с системой через USB. Для программирования, для обмена данными. А применять для этого отдельную прогу не хочется. вот так-то. Кстати я много раз использовал базы данных очень нетрадиционно. Наверное я извращенец. Щас попробую подкинуть строку туда. Спасибо за совет!
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883214
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, через ссылку на строку (ref str) данные передаются из внешней функции неверно. просто строка вызывает ошибку записи в память. Может есть еще идеи?
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883467
Фотография Dmitry.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если вы пишите в параметр data в длл-ке, то в поверскрипте надо-бы под эту переменную выделить память.
типа:
Код: plaintext
1.
2.
string data
data=space( 1000 )
ret=RxFrameUSB(timeout, ADDR, CMD, N, Data)
...
Рейтинг: 0 / 0
Передача параметров при вызове функции из dll
    #34883552
blackman_odessa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет, Дмитрий, выделение памяти не меняет дела. Возвращаются те же самые данные , что и до выделения. А форум я действительно перепутал)) только сейчас дошло, шо есть форум отдельно по ПоверБилдеру) щас продублирую темку) Если есть еще идейки, то был бы признателен)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Передача параметров при вызове функции из dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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