Hallo,

Falls es nur darum geht sich den endfree free Zinnober zu ersparen (welcher Hornochse hat nur diesen Compiler geschrieben!!!), dann kann man sich mit einer eigenen Procedure CallMe behelfen, die eine Variable übergeben bekommt und dann einen FixFormat CALL ausführt.

Falls man die Flexibilität der Parametrisierung für einen CALLP haben will, dann kann man sowas mit Procedure Pointern erreichen. Man hat dann einen Prototyp, der an einen ProcedurePointer gebunden ist, belegt erst den ProcedurePointer variable und macht dann einen Callp auf den feststehenden Prototyp. (Dazu gab es mal einen Artikel im Midrange Magazin von mir.

Falls man wirklich dynamisch zur Laufzeit gebundene Calls machen will, dann geht auch das; man kann sich den Procedure Pointer per API aus dem Namen ermitteln, dabei wird auch zur Laufzeit erst gebunden. Dazu gibt es was auf meiner OpenSource Seite zum runterladen.

mfg

Dieter Bender

Zitat Zitat von opeker
Hallo !

Nachdem im free-format RPG nur mehr der Befehl "callp" verwendet werden kann, suche ich eine Möglichkeit mit callp variable Programme aufzurufen. Im spaltenorientierten RPG war das kein Problem, da ich beim CALL-Befehl eine Variable angeben konnte.

In meinem konkreten Fall habe ich in einer Steuerungsdatei hinterlegt welche Programme ich unter bestimmten Bedingungen aufrufe. Man kann zwar beim Prototyp unter EXTPGM eine Variable angeben, aber bei callp kann ich dann diese Variable nicht ansprechen, da der Compiler keinen Prototyp dazu findet.

Hat vieleicht irgendwer Tipps für mich um das im free-format zu realisieren?

mfg, Opeker