> -- Rafi писал(а):
> от есть у процедуры параметр типа POINTER [untagged] TO ARRAY OF [untagged] BYTE. И есть переменная типа POINTER TO ARRAY OF BYTE. Как из этой переменной передать данные в параметр?
Я думаю, что напрямую этого сделать нельзя из-за несовместимости типов. Ведь тегированный (безопасный) тип имеет скрытую служебную информацию о размере и типе данных, а нетегированный указатель этой информации не имеет. Можно только инициализировать POINTER TO ARRAY OF BYTE и заполнить его значениями из POINTER [untagged] TO ARRAY OF [untagged] BYTE. То есть простой перегон байтов из одной области в другую.

P.S. В суть вопроса о SDL не вникал.

Добавлено позже:
Пардон. Допустим, наши типы объявлены так
TYPE
P1* = POINTER [untagged] TO ARRAY OF [untagged] BYTE;
P2* = POINTER TO ARRAY OF BYTE;

Тогда насчёт перегона байтов верно, если нужно передать данные из P1 в P2. И если имеем P2, то применяем "обычный" кастинг при помощи SYSTEM.VAL(P1, myP2var). И все эти операции с кастингом чреваты последствиями обрушения сборщика мусора, если что-то указано не на ту область памяти.