从C SL函数向Progress 4GL返回一个值

时间:2011-03-30 14:11:22

标签: c progress-4gl

我一直在使用Progress 4GL程序和从共享库调用的C函数之间的一些交互。

我需要编写一个新函数并将其添加到SL中,所以我的问题是:

Progress可以接收从SL C函数返回的值吗?

类似的东西:

Progress_data_type var = SLInvoked_function(...);

如果可以,有人能指出我正确的语法或参考手册吗?

1 个答案:

答案 0 :(得分:3)

以下代码显示了调用putenv()的示例。返回值的关键是“define return parameter”行。

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 Shared Libraries