Reputation: 566
I am not able to find anything on reflection in OpenEdge ABL and how to do it. Is it even possible?
Upvotes: 1
Views: 1669
Reputation: 376
I was looking for Reflection in OpenEdge ABL in 2021 and I found that there are more possibilities now (I'm using OE 11.6). I wasn't able to find extensive documentation but here is a start: https://docs.progress.com/bundle/openedge-oo-abl-develop-applications/page/Reflection.html
When using Progress Developer Studio you will able to see the possibilities when using auto-complete (Ctrl + Space).
Upvotes: 0
Reputation: 158
And don't forget the GET-SIGNATURE() method and the INTERNAL-ENTRIES attribute.
Upvotes: 1
Reputation: 495
It is possible. There are not as many possibilities in OpenEdge as in languagaes like Java or C#, but since version 11 it has basic functionality.
To use reflection look at Progress.Lang.Object
which has a method GetClass()
that returns an instance of Progress.Lang.Class
.
These are the members of Progress.Lang.Class
from the OpenEdge Help (Version 11.1, should be the same for all 11.x versions):
In earlier versions of OpenEdge the reflection capabilities were even worse. But it was possible to invoke methods and create instances dynamically.
You should also have a look at the DYNAMIC-NEW
statement and the DYNAMIC-INVOKE
function.
Upvotes: 2