# SalSafeArray

Namespace: **PPJ.Runtime.Com**

Assembly: **PPJ.Runtime.49** (4.9.0.0)

SalSafeArray implementation.

{% tabs %}
{% tab title="C#" %}

```csharp
public class SalSafeArray : SalFunctionalClass
```

{% endtab %}

{% tab title="VB.NET" %}

```visual-basic
Public Class SalSafeArray
    Inherits SalFunctionalClass
```

{% endtab %}
{% endtabs %}

## Constructors

### ![](/files/dBIrS7XBDGmrzmTRbSI6)SalSafeArray()

Constructs a new empty SalSafeArray This class cannot be used as second-base class.

### ![](/files/dBIrS7XBDGmrzmTRbSI6)SalSafeArray(array)

Constructs a new SalSafeArray with the wrapped array.

| Name      | Type                                                              | Description |
| --------- | ----------------------------------------------------------------- | ----------- |
| **array** | [Array](https://docs.microsoft.com/en-us/dotnet/api/system.array) |             |

## Properties

### ![](/files/dBIrS7XBDGmrzmTRbSI6)Value

[Array](https://docs.microsoft.com/en-us/dotnet/api/system.array): Returns/Sets the wrapped object.

## Methods

### ![](/files/dBIrS7XBDGmrzmTRbSI6)Create(vt, elements, lowerBound)

Creates a new SafeArray.

| Parameter      | Type                                                             | Description |
| -------------- | ---------------------------------------------------------------- | ----------- |
| **vt**         | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **elements**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **lowerBound** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)Create2D(vt, elements1, elements2, lowerBound1, lowerBound2)

Creates a new safearray.

| Parameter       | Type                                                             | Description |
| --------------- | ---------------------------------------------------------------- | ----------- |
| **vt**          | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **elements1**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **elements2**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **lowerBound1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **lowerBound2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)CreateMD(vt, elements, lowerBounds)

Creates a new multidimensional safearray.

| Parameter       | Type                                                                        | Description |
| --------------- | --------------------------------------------------------------------------- | ----------- |
| **vt**          | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)            |             |
| **elements**    | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **lowerBounds** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetBoolean(boolean, index)

| Parameter   | Type                                                               | Description |
| ----------- | ------------------------------------------------------------------ | ----------- |
| **boolean** | [SalBoolean&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetBoolean2D(boolean, index1, index2)

| Parameter   | Type                                                               | Description |
| ----------- | ------------------------------------------------------------------ | ----------- |
| **boolean** | [SalBoolean&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |
| **index2**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetBooleanMD(boolean, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **boolean** | [SalBoolean&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)          |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetDate(date, index)

| Parameter | Type                                                                | Description |
| --------- | ------------------------------------------------------------------- | ----------- |
| **date**  | [SalDateTime&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)    |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetDate2D(date, index1, index2)

| Parameter  | Type                                                                | Description |
| ---------- | ------------------------------------------------------------------- | ----------- |
| **date**   | [SalDateTime&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)    |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)    |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetDateMD(date, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **date**    | [SalDateTime&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)         |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetLowerBound()

Returns the lower bound.

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetLowerBound2D(nDim)

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **nDim**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetLowerBoundMD(nDim)

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **nDim**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetNumber(num, index)

| Parameter | Type                                                              | Description |
| --------- | ----------------------------------------------------------------- | ----------- |
| **num**   | [SalNumber&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetNumber2D(num, index1, index2)

| Parameter  | Type                                                              | Description |
| ---------- | ----------------------------------------------------------------- | ----------- |
| **num**    | [SalNumber&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetNumberMD(num, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **num**     | [SalNumber&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)           |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetObject(obj, index)

Returns a COM object item from the safearray.

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **obj**   | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetObject2D(obj, index1, index2)

| Parameter  | Type                                                             | Description |
| ---------- | ---------------------------------------------------------------- | ----------- |
| **obj**    | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetObjectMD(obj, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **obj**     | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)            |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetString(str, index)

| Parameter | Type                                                              | Description |
| --------- | ----------------------------------------------------------------- | ----------- |
| **str**   | [SalString&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetString2D(str, index1, index2)

| Parameter  | Type                                                              | Description |
| ---------- | ----------------------------------------------------------------- | ----------- |
| **str**    | [SalString&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetStringMD(str, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **str**     | [SalString&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)           |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetUpperBound()

Returns the upper bound.

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetUpperBound2D(nDim)

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **nDim**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetUpperBoundMD(nDim)

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **nDim**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetVariant(variant, index)

| Parameter   | Type                                                               | Description |
| ----------- | ------------------------------------------------------------------ | ----------- |
| **variant** | [SalVariant&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetVariant2D(variant, index1, index2)

| Parameter   | Type                                                               | Description |
| ----------- | ------------------------------------------------------------------ | ----------- |
| **variant** | [SalVariant&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |
| **index2**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)GetVariantMD(variant, indices)

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **variant** | [SalVariant&](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)          |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutBoolean(boolean, index)

Stores a boolean item in the safearray.

| Parameter   | Type                                                              | Description |
| ----------- | ----------------------------------------------------------------- | ----------- |
| **boolean** | [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutBoolean2D(boolean, index1, index2)

| Parameter   | Type                                                              | Description |
| ----------- | ----------------------------------------------------------------- | ----------- |
| **boolean** | [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |
| **index2**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutBooleanMD(boolean, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **boolean** | [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)           |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutDate(date, index)

Stores a DateTime item in the safearray.

| Parameter | Type                                                               | Description |
| --------- | ------------------------------------------------------------------ | ----------- |
| **date**  | [SalDateTime](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutDate2D(date, index1, index2)

| Parameter  | Type                                                               | Description |
| ---------- | ------------------------------------------------------------------ | ----------- |
| **date**   | [SalDateTime](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)   |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutDateMD(date, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **date**    | [SalDateTime](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)          |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutNumber(num, index)

Stores a numeric item in the safearray.

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **num**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutNumber2D(num, index1, index2)

| Parameter  | Type                                                             | Description |
| ---------- | ---------------------------------------------------------------- | ----------- |
| **num**    | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutNumberMD(num, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **num**     | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)            |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutObject(obj, index)

Stores a com object item in the safearray.

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **obj**   | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutObject2D(obj, index1, index2)

| Parameter  | Type                                                             | Description |
| ---------- | ---------------------------------------------------------------- | ----------- |
| **obj**    | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutObjectMD(obj, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **obj**     | [SalObject](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)            |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutString(str, index)

Stores a string item in the safearray.

| Parameter | Type                                                             | Description |
| --------- | ---------------------------------------------------------------- | ----------- |
| **str**   | [SalString](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutString2D(str, index1, index2)

| Parameter  | Type                                                             | Description |
| ---------- | ---------------------------------------------------------------- | ----------- |
| **str**    | [SalString](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index2** | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutStringMD(str, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **str**     | [SalString](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)            |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutVariant(variant, index)

Stores a variant object item in the safearray.

| Parameter   | Type                                                              | Description |
| ----------- | ----------------------------------------------------------------- | ----------- |
| **variant** | [SalVariant](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index**   | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutVariant2D(variant, index1, index2)

| Parameter   | Type                                                              | Description |
| ----------- | ----------------------------------------------------------------- | ----------- |
| **variant** | [SalVariant](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |
| **index1**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |
| **index2**  | [SalNumber](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)  |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).

### ![](/files/dBIrS7XBDGmrzmTRbSI6)PutVariantMD(variant, indices)

Multidimensional safe array

| Parameter   | Type                                                                        | Description |
| ----------- | --------------------------------------------------------------------------- | ----------- |
| **variant** | [SalVariant](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md)           |             |
| **indices** | [SalArray\<SalNumber>](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md) |             |

**Returns:** [SalBoolean](/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://desktop-api.iceteagroup.com/ppj.runtime.49/com/ppj.runtime.com.salsafearray.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
