powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Криво работает DLL
8 сообщений из 8, страница 1 из 1
Криво работает DLL
    #32472430
AngySacin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Точнее, не работает вообще.
Трабл - есть Си'шная dll, которая пишет в принимаемую по ссылке структуру строковое представление числа. Структура DigitDataType(double Value, string(300) Text). Пишем в Value число, дергаем dll, в Text имеем результат (по идее).
Объявляю ее так:
SubRoutine GetDigitString(DigitDataType st_DigitDataType) Library "DigitStr.DLL"
В ответ - тишина. Все проходит нормально, Text пустой. PB v. 9.0 Build 5507
Что бы это могло быть???
З.Ы. Саму dll заинтересованным личностям могу выслать мылом.
З.З.Ы. Может быть есть у кого PBuilder'овский код, который делает тоже самое? Лень самому писать. В VB все проходит на ура. Прилада предназначена для бухгалтерии, писать суммы на всяких бумажках...
...
Рейтинг: 0 / 0
Криво работает DLL
    #32472601
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SubRoutine GetDigitString( REF DigitDataType st_DigitDataType) Library "DigitStr.DLL"

Думаю, что должно помочь
...
Рейтинг: 0 / 0
Криво работает DLL
    #32472606
AngySacin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Пробовал. Нифига. Может библиотека как-то криво сделана? (не моя)
...
Рейтинг: 0 / 0
Криво работает DLL
    #32472699
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
объявление функции с REF и инициализация возвращаемого значения не помешает
Код: plaintext
1.
2.
3.
4.
5.
6.
DigitDataType lstr_DDT
lstr_DDT.Value= 10 
lstr_DDT.Text=Space( 300 )

GetDigitString(lstr_DDT)

MessageBox ( "Получилось?" , lstr_DDT.Text)
...
Рейтинг: 0 / 0
Криво работает DLL
    #32473002
AngySacin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видимо, придеться рисовать код самому.
Если не инициализировать значение Text, то возвращается пустое значение, но Builder не падает. Если заполнить пробелами - Builder падает ((((:
...
Рейтинг: 0 / 0
Криво работает DLL
    #32476397
gerss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо все-таки dll написано криво. Если есть возможность посмотреть исходный код dll, то проверь конвенцию вызова. Если не pascal (stdcall), то подцепить библиотеку к PB не удастся.

А почему ты описываешь функцию как SubRoutine а не function? Может быть дело именно в этом?

Сергей
...
Рейтинг: 0 / 0
Криво работает DLL
    #32477066
Фотография Ikar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AngySacin:
автор... Library "DigitStr.DLL"
ИМХО, может я конечно и глупости говорю, но попробуй имя библиотеки прописать в нижнем регистре. Было у меня однажды, что РВ просто не мог библиотеку найти...
---
С уважением, IKAR
ikarhomecenter@narod.ru
IkarHomeCenter
...
Рейтинг: 0 / 0
Криво работает DLL
    #32478576
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А можно попробывать указать полный путь к DLL: Library "c:\DigitStr.DLL"
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Криво работает DLL
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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