Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.03;
Скачать: CL | DM;

Вниз

Что такое ^P?   Найти похожие ветки 

 
AlexKniga ©   (2006-08-14 12:23) [0]

var P: Pointer;
P^ то куда указывает P.
А что такое ^P ?


 
AlexKniga ©   (2006-08-14 12:24) [1]

Компилятор съедает это ^P, но прога дает AV.


 
Elen ©   (2006-08-14 12:28) [2]

You can declare a pointer to any type, using the syntax

type pointerTypeName = ^type

Кажись такая запись используется только в обьявлениях переменных
А что за код?


 
Ega23 ©   (2006-08-14 12:28) [3]

P^ - значение, которое лежит по тому адресу, на который указывает P.


 
Сергей М. ©   (2006-08-14 12:29) [4]


> что такое ^P ?


Указатель на указатель.


 
Lamer@fools.ua ©   (2006-08-14 12:51) [5]

>А что такое ^P ?

Недопустимая конструкция. "Крышка" (^) указывается либо перед типом (указатель на тип), либо после переменной (разыменование).


 
MBo ©   (2006-08-14 13:00) [6]

>А что такое ^P ?
>Недопустимая конструкция

Ну почему же недопустимая ;)
^P - Это один из способов ввода символа #16 (DLE) (подобно ^C = Ctrl-C = #3 = ETX)


 
AlexKniga ©   (2006-08-14 13:00) [7]

Elen, Lamer@fools.ua
Код уже затер. Возпроизвести момент когда это ^P компилировалось не смог (много воды утекло). Но Watch list этот ^P съедает.


 
AlexKniga ©   (2006-08-14 13:14) [8]

Попробовал несколько вариантов, НЕ получается скомпилировать это ^P. Ситуация когда ^P компилировалась, была в пятницу. После выходных уже не вспомнить. ^P компилировалось скорее всего из-за явного преобразования типов. Повторяю: счас мне не удалось это повторить.


 
AlexKniga ©   (2006-08-14 13:15) [9]

Тема закрыта.


 
Elen ©   (2006-08-14 13:15) [10]


> Ситуация когда ^P компилировалась

Компилировалась в выполнении кода или при обьявлениях переменных или типов? код приведи сегодняшний


 
Elen ©   (2006-08-14 13:16) [11]

Ну закрыта так закрыта


 
AlexKniga ©   (2006-08-14 13:51) [12]

Elen
Компилировалась в выполнении кода.

Счас
var pMemMap: Pointer;
...
FillChar(pMemMap^, 1024, #0);

Было примерно так:
var pMemMap: Типа специализированный указатель;
...
FillChar(Pointer(^pMemMap), 1024, #0);


 
Сергей М. ©   (2006-08-14 13:57) [13]


> Было примерно так


Скорее всего было так

FillChar(Pointer(pMemMap^), 1024, #0);

А поскольку Pointer здесь лишний, то можно еще короче

FillChar(pMemMap^, 1024, #0);


 
Zeqfreed ©   (2006-08-14 14:10) [14]

Вот вполне компилирующийся код :)

var
 s : String;
begin
 s := ^P;


P.S. Кто знает где данная фича описана в документации (или других, возможно не официальных, источнииках), пожалуйста, поделитесь информацией. А то никак не могу найти.


 
MBo ©   (2006-08-14 14:38) [15]

>Кто знает где данная фича описана в документации (или других, возможно не официальных, источнииках),

Это поддерживаемое для совместимости наследие старинного Паскаля (уже в руководстве по языку TP7 такой способ задания символьных констант не упоминался)

http://www.codenet.ru/progr/other/lpas1.php


 
Zeqfreed ©   (2006-08-14 15:30) [16]

> [47] MBo ©   (14.08.06 14:38)

Спасибо :) А то я всю документацию к Delphi перерыл, так и не нашёл.


 
AlexKniga ©   (2006-08-14 16:10) [17]

Вот к чему приводят однобуквенные имена:
var
 P: ^Integer;
 B: Integer;
begin
 GetMem(P, 4);
 P^ := 123;
 B := Integer(^P);    // B = 16
{... с помощью конструкции вида ^C, где C - код соответствущего управ-
ляющего  символа, при этом  значение  C должно быть на 64 больше
кода управляющего символа.}

 B := Integer(P^);    // B = 123
 FreeMem(P);
end;


 
Anatoly Podgoretsky ©   (2006-08-14 16:34) [18]

Тип типизированый указатель, используется только для указания типа в объявление типа.
Это документировано начиная с 1971 года.



Страницы: 1 вся ветка

Текущий архив: 2006.09.03;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.14 c
5-1138955308
13
2006-02-03 11:28
2006.09.03
ProgreeBar+ListView


15-1155248778
Мазут Береговой
2006-08-11 02:26
2006.09.03
Вот, как идиот улыбаясь, сижу и слушаю Юмор FM...


1-1153397148
dracula
2006-07-20 16:05
2006.09.03
Как узнать - занят файл другим процессом или нет?


2-1155239524
ккккккккк
2006-08-10 23:52
2006.09.03
список подключений


1-1152901088
_mik
2006-07-14 22:18
2006.09.03
Перебор текста по словарю