A procedure object handle always references a running procedure instance, and is stored in a variable or field of type HANDLE. An object reference always points to an instance of a class and is stored in a variable that is defined as that class, a super class, or related interface type, or in a temp-table field of type Progress.Lang.Object. These two kinds of references—procedure object handles and object references—are not interchangeable.