In general, .NET objects use 0-based values for parameters and properties. In contrast, ABL uses 1-based indexing. Because of its role as an intermediary between the .NET and ABL objects, the ProBindingSource uses both types of indexes. When an index in the ProBindingSource refers to the .NET side, it is 0-based. When an index refers to the ABL side, it is 1-based. For example, the Position property is 0-based and the InputValue property's field-index parameter is 1-based.