Добрый день. Есть данные: массив,указатель Код (Text): var mas: array [0..2] of string; p:pointer; Нужно получить указатель на массив, точней на конкрет. элемент массива делаю так: Код (Text): p:=ptr(dword(mas[1])); Все ок, адрес конвертится в указатель. А вот если так: Код (Text): p:=@dword(mas[1]); то почему-то получаю экзепшн. Объяните почему так ?? =\ спасибо.
ptr это все равно что на си сделать так: void * Ptr; Ptr = &PVOID(mas[1]); правило просто: Действия производятся экземплярами типов, а не с самими типами! Поэтому взять указатель у dword, PVOID, char, etc это очень глупо, потому что типы - это абстракция того что можно сделать с данными! А вот взять у объекта к примеру &mas[1] вполне логично, потому что это вполне реальное и осязаемое нечто в нашем, пусть и программном, мире !