STL Можно ли в FC передать указатель на начало массива в DB?
Добавлено: 27 июн 2014, 10:41
Добрый день, товарищи.
Пишу функцию для доступа к элементу массива по переменному индексу.
Но не могу понять, как передать указатель на начало массива в функцию, как входной параметр блока.
Функция с загрузкой указателя напрямую работает. Прошу помочь мне разобраться, как можно передать адрес начала массива. Идеальным вариантом было бы получение адреса через символьное имя массива.
pArrayBegining объявлен как входной параметр типа указатель
Пробовал несколько способов передачи указателя:
1) L pArrayBegining - получаю ошибку "Variable of a higher type cannot be used in this statement"
2) L P##pArrayBegining - Какая-то ерунда в AR1: 2#1000_0111_0000_0000_0000_0000_1010_1000. Если проанализировать: 2#[1](признак межзонного указателя)000_0[111](операнд область)_[0000_0000_0000_0000_1010_1](0..010101 - смещение в байтах - 21)[000](смещение в битах - 0). Но я-то передаю указатель P#254.0 =(
3) L P#254.0; получаю желаемый результат AR1 = 2#0000_0000_0000_0000_0000_0111_1111_0000
Пишу функцию для доступа к элементу массива по переменному индексу.
Но не могу понять, как передать указатель на начало массива в функцию, как входной параметр блока.
Функция с загрузкой указателя напрямую работает. Прошу помочь мне разобраться, как можно передать адрес начала массива. Идеальным вариантом было бы получение адреса через символьное имя массива.
pArrayBegining объявлен как входной параметр типа указатель
Пробовал несколько способов передачи указателя:
1) L pArrayBegining - получаю ошибку "Variable of a higher type cannot be used in this statement"
2) L P##pArrayBegining - Какая-то ерунда в AR1: 2#1000_0111_0000_0000_0000_0000_1010_1000. Если проанализировать: 2#[1](признак межзонного указателя)000_0[111](операнд область)_[0000_0000_0000_0000_1010_1](0..010101 - смещение в байтах - 21)[000](смещение в битах - 0). Но я-то передаю указатель P#254.0 =(
3) L P#254.0; получаю желаемый результат AR1 = 2#0000_0000_0000_0000_0000_0111_1111_0000
Source