OpenEdge Advanced Business Language (OpenEdge ABL) - Progress
Frequently Asked Questions (exontrol)
ABL.0:
In ABL (OpenEdge) 32-bit you can use any of the following versions:
  • /COM indicates the 32-bit edition of the ActiveX version
  • /NET indicates the 32-bit edition of the /NET assembly version

The application built using /COM or /NET version runs on any Windows 32 or 64-bit machine.

In ABL (OpenEdge) 64-bit you can use any of the following versions:

  • /COM/64 indicates the 64-bit edition of the ActiveX version
  • /NET/64 indicates the 64-bit edition of the /NET assembly version

The application built using /COM/64 or /NET/64 version runs on Windows 64-bit machine only. The application built using /COM/64 or /NET/64 version cannot run on Windows 32-bit machine.

If you want to use your application on 32 and 64-bit machines, you can go for:

  • /COM/ANY indicates the 32 and 64-bit editions of the ActiveX versions
  • /NET/ANY indicates the 32 and 64-bit editions of the /NET assembly version

Should I use a 32-bit or 64-bit version of the control?

ABL.1:

The warning "The <event-name> event is a .NET event that does not follow the .NET convention for event signatures (OpenEdge, ABL code)" shows up when trying to handle an event of the control. To prevent this warning, under OpenEdge environment you must use the Z-event alternatives.

For instance, the following DblClick handler:

THIS-OBJECT:exg2antt1:DblClick:Subscribe(THIS-OBJECT:exg2antt1_DblClick).

METHOD PRIVATE VOID exg2antt1_DblClick( INPUT sender AS System.Object, INPUT Shift AS SHORT, INPUT X AS INTEGER, INPUT Y AS INTEGER ):
	MESSAGE "test" VIEW-AS ALERT-BOX.
	RETURN.
END METHOD

fails, instead use the ZDblClick alternative on OpenEdge::

THIS-OBJECT:exg2antt1:ZDblClick:Subscribe(THIS-OBJECT:exg2antt1_ZDblClick).

METHOD PRIVATE VOID exg2antt1_ZDblClick( INPUT sender AS System.Object, INPUT args AS exontrol.EXG2ANTTLib.exg2antt+ZDblClickArgs ):
	MESSAGE "test" VIEW-AS ALERT-BOX.
	RETURN.
END METHOD

In conclusion, the Z-event alternative provides the Standard .NET event. The .NET convention is for an event (Z-event) signature to have a void return and 2 parameters. The first parameter is of type System.Object and is the sender of the event. The second parameter must be of type System.EventArgs or derived from System.EventArgs and contains data passed between sender and receiver. For instance, the "DblClick(object sender, short Shift, int X, int Y)" event is equivalent to "ZDblClick(object sender, ZDblClickArgs e)", where "ZDblClickArgs" type is derived from System.EventArgs and includes definitions for Shift, X and Y properties