Вниз
Скачать: CL | DM;

Получение адреса процедуры из процедурной переменной   Найти похожие ветки 

← →
pirat ©   (2002-10-12 02:53) [0]

А можно ли так вообще сделать?


← →
PVOzerski ©   (2002-10-12 03:37) [1]

Если процедура - не метод объекта/класса, содержимое процедурной переменной
и есть адрес процедуры. Только добраться с помощью обычного преобразования типов до этого
не всегда получается из-за неоднозначности синтаксиса. Например:
var
f:function:longint;
p:pointer;
..
p:=pointer(f);
компилятор трактует как преобразование возвращаемого функций значения, а не
самой процедурной переменной. Но выход-то есть, и не один. Например:

var
f:function:longint;
p:pointer absolute f;


← →
pirat ©   (2002-10-12 05:17) [2]

Точно! Спасибо!!


← →
pirat ©   (2002-10-12 12:27) [3]

Только что попробовал - не работает :(((
p = nil


← →
reonid ©   (2002-10-12 17:14) [4]

Для процедурных типов переопределён оператор @.
p := @f; //- значение f как указателя (по сути - pointer(f))
p := @@f; //- адрес переменной f



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.015 c
1-78337
NewChainik
2002-10-14 13:35
2002.10.24
Как обратиться к переменной, если ее имя задано текстовой строкой


1-78407
DAXg
2002-10-11 23:45
2002.10.24
Ув. Мастера, как можно узнать, запущена ли программа C: proga pro


1-78401
Dim!S
2002-10-15 13:31
2002.10.24
Смена раскладки 3


6-78553
Sour
2002-08-19 12:19
2002.10.24
API и сокет


14-78667
Nik8.
2002-10-05 09:10
2002.10.24
Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.Nik8.




   Наверх