Hallo zusammen,
ich bräuchte mal ein paar Tipps mit KFD. Leider spuckt die KRC4 auch keine vernünftigen Fehlermeldungen aus, wenn sie mit der Syntax nicht einverstanden ist... vielleicht kann mir ja hier einer auf die Sprünge helfen.
Was ich machen will:
ich habe eine globale Funktion, die ich zum Absetzen meiner Meldungen verwende (SetMessageRobot (...)). Für den Kunden möchte ich nun dieses Unterprogramm über ein ILF befüllbar machen.
Das sind meine Eingangsparameter der Fct. Die Funktion funktioniert einwandfrei, nur mit KFD eben nicht.
SetMessageRobot (i_chModul[]:IN, i_iNr:IN, i_chMsg_text:IN, i_enMsg_type:IN)
So sieht mein KFD aus:
DEFTP MiscMsg = {SOT FALSE, SOC TRUE}
DECL PARAM p_MsgNr ={SHORTNAME[] "MsgNr: ",VALUE {NUMBER: DEFAULT 1000, MIN 1000, MAX 1999, STEP 1},UNIT[] " ", SHORTCUT[] "MSG"}
DECL PARAM p_MsgTxt ={SHORTNAME[] "MsgTxt: ",VALUE {FREE: DEFAULT[] " Enter your message text here. "}}
DECL FOLD CustomMsg[1]
CustomMsg[1]="SetMessageRobot ( "Custom", %p_MsgNr , %p_MsgTxt , #notify )"
DECL INLINEFORM CustomMessage={FOLD[1] CustomMsg, PARAM[1] p_MsgNr, PARAM[2] p_MsgTxt, ILF_TYPE ALL}
ENDTP
chModul und enMsg_type sollen standardmäßig gesetzt sein und vom Kunde nicht änderbar, deshalb sind "Custom" und "#notify" hart drin.
Mein Problem:
Ich kann das ILF einfügen, aber wenn ich den FOLD öffne, sehe ich, dass die Codezeile mit meinem UP-Aufruf auskommentiert ist. Selbstverständlich ohne irgend eine Meldung von der KRC4 dass ihr etwas nicht passt...
Meine CodeZeile des ILFs, wenn ich den FOLD öffne:
;SetMessageRobot("Custom",%p_MsgNr ,%p_MsgTxt, #notify)
Ich hab schon einiges ausprobiert, / an bestimmte Stellen gesetzt o.ä. ... aber das ist ja das reinste Ratespiel, und dazu kommt, dass je nach dem dann irgendwann mal das ILF gar nicht mehr akzeptiert wird - auch ohne Fehlermeldung....
Der Parameter %p_MsgNr sollte so passen, den kann ich ausschließen, da ich es in einem anderen ILF genauso mache. Dort wird allerdings in dem FOLD des ILFs gleich der Wert der MsgNr reingeschrieben, hier nicht...
Hat jemand ne Idee? Oder gibt es irgendwo eine Doku, welche Bugs KFD hat? Ich mein, wo ich überall ein Blank, ein / oder sonst was reinhauen muss, damit das funktioniert?
Liegt es an dem Parameter VALUE FREE???
Danke für euer Mitdenken!
PS: die UserTech-Doku hab ich selbstverständlich.