I don't know if a class name can be dynamic especially .NET classes, but it is possible to dynamically instantiate classes and methods which may solve what you are looking to do. Have a look at these articles:
Is this the code you are looking for?:
Or do you want to embed an ABL window into a .NET form? If so, then take a look at these articles:
No, unfortunately not. In all these years I have never had to account for PSEUDO-WIDGET. The only thing I can think of maybe trying is PRIVATE-DATA but probably doubt you can set that or it is not available for what is effectively a system handle.
I think this could well be the case.
The documentation for PSEUDO-WIDGET seems to be none existent. As a rule a PSEUDO-WIDGET is a system handle (SESSION or CLIPBOARD or ABL status or system object), and may explain why it does not have a name. If so, then there may be no way to retrieve any...
According to the manual the NAME attribute is available for FRAME, TEXT and FIELD-GROUP but not PSEUDO-WIDGET:
If for FRAME, TEXT and FIELD-GROUP you set using code does that work?:
Handle-name: NAME = "ObjectName".
Would it be this thread?:
I am not sure if it is still available on Progress Communities, and if not think the files attached are the ones.
Is the dll on a network drive?:
If not, then I don't know if the cause is something similar to this:
My previous posting missed including this article which again is a straight copy:
I thought that a posting/article existed that showed how to do this with dynamic queries but can only find one that does a copy:
DEF VAR tablename as CHAR INITIAL "table1,table2,table3" /* and so on */
DEF VAR cTraverseOldTable AS CHARACTER.
DEF VAR iTableArrayIndex AS INT.
I see. I am not sure if that is documented anywhere.
The manual says this which indicates it may be similar to running from the Procedure Editor:
You may find answers in the AppBuilder source code:
Do you want to know how to run directly from the AppBuilder or if the AppBuilder is running the program as persistent?
The attached image shows how to run from the AppBuilder and what to set if you want to run as persistent or not.
As per rule 6/7 in this article slowness due to the bracketing resulting in reading all records:
FOR EACH ucd_receival NO-LOCK
WHERE (ucd_receival.id_location = <value> AND ucd_receival.da_receival_date = 11/19/2019) OR...
According to these articles it appears only new tables, new fields to existing tables or new indexes to existing tables can be added on-line:
You first need to add to Assemblies.xml:
It should be available to add in "Global Assemblies".
IN SUPER is used to declare that the function is found in a super procedure and that the function is implemented in the super procedure.
/* main.p */
define var hdl as handle.
FUNCTION TodaysDate RETURNS DATE () IN SUPER.
run sub.p persistent set hdl...
I don't know if these are any help but 2 possible options:
DEFINE VARIABLE cRelease AS CHARACTER NO-UNDO.
DEFINE VARIABLE cVersion AS CHARACTER NO-UNDO...