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

Вниз

Как узнать указатель на функцию?   Найти похожие ветки 

 
Dmk ©   (2002-07-02 05:15) [0]

Как узнать указатель на функцию, если она описана например в потомке класса TForm? Если делать так

cwpPointer := @TDrawForm.ClientWindowProc;

то при передаче управления работает все кроме этой функции.
Или это указатель на место где лежит реальное значение?


 
Dmk ©   (2002-07-02 05:18) [1]

Sry. Работает не все. Класс TDrawForm вообще не работает. :(


 
Dmk ©   (2002-07-02 05:20) [2]

А если сделать эту функцию не в классе то все нормально. ClientWindowProc работает, но ей не доступны переменные класса. :(


 
T'Mon ©   (2002-07-02 05:45) [3]

Procedure of object - это восьмибайтовый указатель.
Так что делай примерно так:
type
TClientWindowProc = procedure(...) of object;

var
cwpPointer: TClientWindowProc;

...
cwpPointer := DrawForm.ClientWindowProc
...


Учти в присвоении нужен реальный объект.


 
MBo ©   (2002-07-02 06:43) [4]

type OProc=procedure of object;
var M:TMethod;

begin

M.Code := @TSomeClass.SomeProc;
M.Data := Self;//или нужный экземпляр объекта
OProc(M);




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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
1-47494
Evants
2002-07-04 10:36
2002.07.15
Снова ТListBox (избегание ошибки)


14-47735
vads
2002-06-09 09:22
2002.07.15
Кто-нибудь работал со cмарт-картами и card-reader ами ???


1-47354
Dorosh
2002-06-27 11:48
2002.07.15
Преобразование строки в формулу


1-47578
d_oleg
2002-06-28 13:28
2002.07.15
перемещение TToolButton в run-time


4-47884
Z-man
2002-05-13 11:58
2002.07.15
Выдать дату последнего изменения файла