|
|
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
Есть потребность вызвать функцию в повер-скрипте из библиотеки 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[] ничего не записывается. В чем моя ошибка? Заранее благодарен за любую помощь! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 01:25 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
Код: plaintext Код: plaintext unsigned char &X можно заменить еще на string X //без ref в этом случае будет передаваться ссылка на копию билдеревской строки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 12:31 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
я вот только сообразил а причем здесь сервера БД Sybase? вам в другой форум. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 12:34 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
Сервера баз данных вобщем-то как бы ни при чем, но у меня есть программно-аппаратный комплекс, который использует данные, хранимые в базе Sybase, на портативных устройствах моей разработки. И их нужно связать с системой через USB. Для программирования, для обмена данными. А применять для этого отдельную прогу не хочется. вот так-то. Кстати я много раз использовал базы данных очень нетрадиционно. Наверное я извращенец. Щас попробую подкинуть строку туда. Спасибо за совет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 16:56 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
Нет, через ссылку на строку (ref str) данные передаются из внешней функции неверно. просто строка вызывает ошибку записи в память. Может есть еще идеи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 17:09 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
если вы пишите в параметр data в длл-ке, то в поверскрипте надо-бы под эту переменную выделить память. типа: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.10.2007, 22:51 |
|
||
|
Передача параметров при вызове функции из dll
|
|||
|---|---|---|---|
|
#18+
Нет, Дмитрий, выделение памяти не меняет дела. Возвращаются те же самые данные , что и до выделения. А форум я действительно перепутал)) только сейчас дошло, шо есть форум отдельно по ПоверБилдеру) щас продублирую темку) Если есть еще идейки, то был бы признателен) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.10.2007, 00:30 |
|
||
|
|

start [/forum/topic.php?fid=55&msg=34883015&tid=2011858]: |
0ms |
get settings: |
11ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
82ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 229ms |
| total: | 423ms |

| 0 / 0 |
