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

как запихнуть ф-ю класса в указатель   Найти похожие ветки 

 
Андрусь ©   (2003-01-13 12:49) [0]

Привет всем! Столкнулся вот с такой проблемкой. Есть тип TMyFunc=function(i:byte):byte;
a:pointer;b:byte;ф-я класса TMyClass.Myfunc(i:byte):byte;И я хочу в одном месте a:=@Myfunct;А в другом b:=TMyFunc(a)(1);Так вот компилер ругается и не хочет пропускать a:=@Myfunc,если Myfunc - ф-я класса.Подскажите как это обойти.Зараннее всем благодарен.


 
Smithson ©   (2003-01-13 12:52) [1]

Function и Function of object есть типы, между собой не совместимые.
Так что или, или.


 
Calm ©   (2003-01-13 13:37) [2]

TObject.MethodAddress(const Name: ShortString): Pointer;


 
Андрусь ©   (2003-01-13 13:39) [3]

не понял к чему здесь ваше замечание.
вопрос стоит так - как ф-ю кл. передать переменной.причем здесь совместимость с ф-ей.


 
Дмитрий Баранов ©   (2003-01-13 13:44) [4]

Несовместимость по числу параметров. Первым параметром неявно передается указатель на объект (Self)


 
Дмитрий Баранов ©   (2003-01-13 13:45) [5]

Либо использовать class function, но из нее нельзя будет получить доступ к переменным объекта.


 
Alex Konshin   (2003-01-13 21:37) [6]

Я вопрос не понимаю: что ты понимаешь под "функцией класса"?
Ты действительно имеешь в виду "class function" или все-таки метод?

У функции класса неявным параметром будет указатель на класс, у метода - на объект.

Если все-таки речь идет о методе, то опиши тип как
TMyFunc=function(i:byte):byte of object;
тогда a:=MyFunc; b := a(1); должно сработать.


 
Magic ©   (2003-01-14 11:16) [7]

Как интересно!!!


 
Skier ©   (2003-01-14 11:33) [8]

>Андрусь
of object



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

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



Память: 0.46 MB
Время: 0.015 c
1-72188
Dima1
2003-01-13 08:49
2003.01.23
Народ, раскажите мне, как работать с переменной Pointer.


1-72180
NewGuest
2003-01-13 17:09
2003.01.23
Есть Form1 и Form2, у первой стоит StayOnTop, на 2-й тоже самое


1-72286
Groove
2003-01-15 11:22
2003.01.23
Видел ли кто-нибудь такой компонент, как панель в Visual C++,


3-72117
asmith
2002-12-27 19:18
2003.01.23
Нотификация в MS SQL Server


14-72503
Jeka
2003-01-05 08:12
2003.01.23
language




   Наверх