Вернуть значение в Progress 4GL из функции C SL

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

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

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

Что-то типа :

Progress_data_type var = SLInvoked_function(...);

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


person EMBT    schedule 30.03.2011    source источник
comment
Возможно, вы захотите изменить тег прогресса на progress-4gl. В противном случае он потеряется в шуме, связанном с индикаторами выполнения и тому подобным.   -  person Tom Bascom    schedule 31.03.2011


Ответы (1)


В следующем коде показан пример вызова 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.

person Tom Bascom    schedule 31.03.2011