2

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

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

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

就像是 :

Progress_data_type var = SLInvoked_function(...);

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

4

1 回答 1

3

以下代码显示了调用 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 共享库

于 2011-03-31T10:37:46.077 回答