Upd1.
Да, торможу, разименовать указатель надо.
А вот SizeOf(szBuffer) - наверное, вернет правильный размер (ибо Дельфя слищком умная, хотя вот разименовать указатель в данном случае сама не смогла...), но лучше пользоваться переданным значением размера буффера, а именно - pnBufferSize. Т.е. выглядеть должно как-то так:
Код:
FillChar(szBuffer^, pnBufferSize, #0);
В принципе, если вызывающий код сам почистит буффер перед передачей, то и в функции чистить не обязательно.
Upd2. Не понял в чем вопрос... где курсор перемещается??? В каком редакторе???