Meinst du das mit den Makros oder allgemein wie man an so ein Problem herangeht?
Also das mit den Makros ist zugegebenerweise... ich sag mal... schlecht gelöst. Also zu allererst gibt es ja im Manual
eine Seite, die "Macros" heißt. Da steht dann direkt ganz dick:
The following macros are predefined in include\acknex.h for making life easier and code shorter. !! Valuable hint: look into acknex.h for checking what a certain macro is doing before using it. Macros in a programming language are notorious for causing trouble when used in a wrong way. So don't use a macro without knowing which code it generates.
Man ist also schonmal vorgewarnt
in acknex.h steht dann:
#define set(obj,flag) obj->flags |= (flag)
#define reset(obj,flag) obj->flags &= ~(flag)
#define toggle(obj,flag) obj->flags ^= (flag)
#define is(obj,flag) (obj->flags & (flag))
Man sieht also, was reset, set und so weiter bewirken: wenn du das verwendest, wird dann der code der in der jeweils rechten define-Klausel steht, eingesetzt - das ist also keine Funktion, sondern einfach nur code. Diese speziellen Makros arbeiten auf dem flags field einer Datenstruktur.
Und jetzt kommt der ganz schön krumme und etwas glitschige Haken: zwar steht in der Einleitung, dass da unser Life dann easier werden würde damit, aber leider hat es JCL im Laufe der letzten Jahre verpasst, flags in einem Feld zu vereinheitlichen (womit ich jetzt nicht den Anspruch erhebe dass ich das besser könnte - das hat ja einen Grund.. dafür könnte ich zwanzig an einer Hand abzählen. Wir haben das auch schonmal angemerkt, aber manchmal will er sowas nicht so gerne
) Dadurch sind diese Makros im echten Leben leider wertlos, weil das ganz schön Mist ist bei den einen Datentypen auf eflags und flags2 da die echten Verorderungs-Anweisungen usw. zu verwenden und dann beim Rest reset und so.
Wir sind ja hier nicht beim Kirmesboxen... entweder das Eine oder das Andere aber nicht son Gemische, das bringt einen manchmal ganz vielleicht in den Wahnsinn
Und Neulinge wissen solche Details eher nicht so direkt auf Anhieb, weswegen du dir keinen Vorwurf machen musst, dass du das auf Anhieb nicht gefunden hast.
Jetzt weißt dus aber!