Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
АРМ Администратор :  ИРБИС Irbis
 
использование &unifor(+8...
Пользователь: mathiax (IP-адрес скрыт)
Дата: 08, November, 2012 16:10

Не мог бы кто-нибудь привести простой пример кода dll которая бы работала через &unifor(+8...
Саму dll тоже бы хотелось увидеть в действии. Проверять буду в Ирбис64.
Написал dll на с++. проверил ее она работает.но не могу ей воспользоваться в pft.

Re: использование &unifor(+8...
Пользователь: Alio (IP-адрес скрыт)
Дата: 08, November, 2012 16:39

Вот пример такой DLL на Delphi

Вложения: temp.rar (30.6KB)  
Re: использование &unifor(+8...
Пользователь: mathiax (IP-адрес скрыт)
Дата: 09, November, 2012 11:32

Я так понимаю, что переданный dll-файл необходимо пололжить в папку Ирбис-сервера (там же лежат другие dll-ки). А после этого можно использовать функции данной dll допустим в Genpft.exe при работе с какой-либо БД.

Исходя из синтаксиса форматного выхода (unifor('+8...)), в ответ на данную строку:
&unifor('+8test_dll,Test1,',v910))
в поле вывода должно отобразиться содержимое 910 поля.Но этого не происходит. Не могу понять, где я не прав.
к стати вопрос по синтаксису.
&unifor('+8<имя_DLL>,<имя_функции>,<передаваемые_данные>')
для test_dll.dll
<имя_DLL> = test_dll
или
<имя_DLL> = test_dll_DLL
или
<имя_DLL> = test_dll.dll?
проще даже будет мне отправить правильный "запрос" с использованием данной библиотеки, по аналогии разберусь.



Редактировано 1 раз. Последний раз 09.11.2012 11:33 пользователем mathiax.

Re: использование &unifor(+8...
Пользователь: Alio (IP-адрес скрыт)
Дата: 09, November, 2012 13:05

Прошу прощения - допустил ошибку в исходном коде. Возьмите заново.
Правильный вызов:
&unifor('+8test_dll,Test1,',v200)

Вложения: temp.rar (31.7KB)  
Re: использование &unifor(+8...
Пользователь: mathiax (IP-адрес скрыт)
Дата: 10, November, 2012 12:22

Не получается что-то. У меня была такая же ошибка. Теперь использую в своей программе __stdcall, но результата нет как видете на скриншотах.
Может быть я не туда ложу dll или не так обращаюсь?
И еще один вопрос. Чем лучше пользоваться внутренним языком ирбис или dll?
Допустим что эффект dll достигается пятью unifor('... и прочими функциями языка). Чем лучше реализовать?
Конечно же понятно:
-если ты не один работаешь в системе и второй человек не обладает квалификацией писать dll, то лучше воспользоваться языком ирбис
-при изменениях в системе (или при необходимости немного изменить алгоритм) проще изменить pft нежели Rebuild-ить dll.
А с точки зрения быстроты? Какие еще минусы и плюсы использования dll в системе Ирбис.



Редактировано 3 раз. Последний раз 27.11.2012 06:46 пользователем mathiax.

Вложения: temp.7z (52.5KB)  


Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.