L
Lieven De Foor
Guest
the code jquerijero mentions (simplified/extracted): CLASS MyForm INHERITS Progress.Windows.Form: DEFINE PRIVATE VARIABLE components AS System.ComponentModel.IContainer NO-UNDO. DEFINE PRIVATE VARIABLE ultraToolbarsManager1 AS Infragistics.Win.UltraWinToolbars.UltraToolbarsManager NO-UNDO. ... CONSTRUCTOR MyForm(): ... InitializeComponent() THIS-OBJECT:ComponentsCollection:Add(THIS-OBJECT:components). END CONSTRUCTOR. METHOD PRIVATE VOID InitializeComponent(): THIS-OBJECT:components = NEW System.ComponentModel.Container(). ... THIS-OBJECT:ultraToolbarsManager1 = NEW Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(THIS-OBJECT:components). END METHOD. END CLASS. I have some questions about: Is there some mechanism working behind the scenes here to dispose all components? ComponentsCollection is a new property on Progress.Windows.Form, but it is undocumented. What is the use? The code that Visual Studio generates is similar, but not quite the same: partial class Form2 { private System.ComponentModel.IContainer components = null; protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } private void InitializeComponent() { this.components = new System.ComponentModel.Container(); this.ultraToolbarsManager1 = new Infragistics.Win.UltraWinToolbars.UltraToolbarsManager(this.components); } } Is the ABL code equivalent to the c# Dispose override? Why can't the protected Dispose method be overridden in ABL? I get a compile error that it is final, though I can do this in c#. How come?
Continue reading...
Continue reading...