2011-03-30 32 views
2

我一直在處理Progress 4GL程序和從共享庫調用的C函數之間的一些交互。從C SL函數返回值給Progress 4GL

我需要寫一個新的功能,並把它添加到SL,所以我的問題是:

才能進步收到值從SL C函數返回?

喜歡的東西:

Progress_data_type var = SLInvoked_function(...); 

如果這是可能的,有人點我到正確的語法或參考手冊?

+0

您可能要改變「進步」標籤「進步-4GL」。否則,它會在與進度條等有關的噪音中丟失。 – 2011-03-31 11:14:03

回答

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