2

私は、Progress 4GL プログラムと、共有ライブラリから呼び出された C 関数との間の対話に取り組んできました。

新しい関数を作成して SL に追加する必要があるので、質問は次のとおりです。

Progress は SL C 関数から返された値を受け取ることができますか?

何かのようなもの :

Progress_data_type var = SLInvoked_function(...);

これが可能であれば、誰かが正しい構文またはリファレンス マニュアルを教えてもらえますか?

4

1 に答える 1

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 共有ライブラリを参照してください。

于 2011-03-31T10:37:46.077 に答える