Вернуть значение в Progress 4GL из функции C SL - PullRequest
2 голосов
/ 30 марта 2011

Я работал с некоторым взаимодействием между программами Progress 4GL и функциями C, вызванными из общей библиотеки.

Мне нужно написать новую функцию и добавить ее в SL, поэтому мой вопрос:

Может ли Progress получать значения, возвращаемые функциями SL C?

Что-то вроде:

Progress_data_type var = SLInvoked_function(...);

Если это возможно, может кто-нибудь указать мне правильный синтаксис или справочное руководство?

1 Ответ

3 голосов
/ 31 марта 2011

Следующий код показывает пример вызова putenv (). Ключом для возврата значения является строка «определить возвращаемый параметр».

define variable x as integer no-undo.

procedure putenv external "/lib64/libc.so.6":
  define input  parameter env as character.
  define return parameter x   as long.
end.

display os-getenv( "XYZZY" ).
pause.

run putenv( "XYZZY=pflugh", output x ).
display os-getenv( "XYZZY" ).

os-command value( 'echo "$XYZZY"' ).

return.

Для получения более подробной информации смотрите Общие библиотеки UNIX

...