Modul: Private Konstante in Prozedurdeklaration verwenden?
Verfasst: 24.08.2020 16:04
Ich möchte in einem Modul eine private Konstante als Default-Parameter für eine öffentliche Prozedur nutzen.
Die Prozedur soll ordnungsgemäß deklariert werden.
Hat jemand eine Idee wie man das hin bekommt ohne dass der Compiler meckert?
Momentan ist entweder die Konstante in der Deklaration nicht bekannt oder... wenn ich dort z.B. sParm="" eintrage, dann stimmt Deklaration mit Prozedur nicht überein.
In beiden Fällen kann man es nicht kompilieren.
Folgende Lösung geht zwar, aber ist ein bisschen uncharmant:
Gruß Markus
Die Prozedur soll ordnungsgemäß deklariert werden.
Code: Alles auswählen
DeclareModule MyMod
EnableExplicit
Declare Test(sParam.s)
; Declare Test(sParam.s = #Default_Param)
EndDeclareModule
Module MyMod
#Default_Param = "none"
Procedure Test(sParam.s = #Default_Param)
Debug sParam
EndProcedure
EndModuleMomentan ist entweder die Konstante in der Deklaration nicht bekannt oder... wenn ich dort z.B. sParm="" eintrage, dann stimmt Deklaration mit Prozedur nicht überein.
In beiden Fällen kann man es nicht kompilieren.
Folgende Lösung geht zwar, aber ist ein bisschen uncharmant:
Code: Alles auswählen
Procedure Test(sParam.s = "")
If sParam = ""
sParam = #Default_Param
EndIf
Debug sParam
EndProcedure