无法在 progress4gl 上使用函数
Not being able to use function on progress4gl
我一直在尝试创建一个简单的函数来累积一些字符串,然后我会调用它 return 它,但出于某种原因我得到:
Could not understand line 1 (198)
太含糊了,我一直在论坛中寻找示例来与我的进行比较,但似乎还不错,有人可以解释一下我可能做错了什么吗?
代码:
put unformatted fcustomer(). /*line one*/
function fcustomer returns char():
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + "thing(s)".
end.
return vgatherer.
end function.
ABL 使用单程编译器,因此函数必须在使用前声明。如果您像这样更改代码,它将起作用:
function fcustomer returns char():
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + "thing(s)".
end.
return vgatherer.
end function.
put unformatted fcustomer(). /*line one*/
您还可以使用 FORWARD 短语向前定义您的函数。查看您的 ABL 文档了解详细信息。
函数需要在使用前声明或提前声明。
您可能还需要一个输入参数。
function fcustomer returns character ( input p1 as character ) forward.
put unformatted fcustomer( "some text" ). /*line one*/
function fcustomer returns character ( input p1 as character ):
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + p1.
end.
return vgatherer.
end function.
我一直在尝试创建一个简单的函数来累积一些字符串,然后我会调用它 return 它,但出于某种原因我得到:
Could not understand line 1 (198)
太含糊了,我一直在论坛中寻找示例来与我的进行比较,但似乎还不错,有人可以解释一下我可能做错了什么吗?
代码:
put unformatted fcustomer(). /*line one*/
function fcustomer returns char():
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + "thing(s)".
end.
return vgatherer.
end function.
ABL 使用单程编译器,因此函数必须在使用前声明。如果您像这样更改代码,它将起作用:
function fcustomer returns char():
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + "thing(s)".
end.
return vgatherer.
end function.
put unformatted fcustomer(). /*line one*/
您还可以使用 FORWARD 短语向前定义您的函数。查看您的 ABL 文档了解详细信息。
函数需要在使用前声明或提前声明。
您可能还需要一个输入参数。
function fcustomer returns character ( input p1 as character ) forward.
put unformatted fcustomer( "some text" ). /*line one*/
function fcustomer returns character ( input p1 as character ):
define variable vgatherer as character.
define variable i as integer no-undo.
do i = 1 to 10:
assign vgatherer = vgatherer + p1.
end.
return vgatherer.
end function.