Форум: "Основная";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];
Внизкак запихнуть ф-ю класса в указатель Найти похожие ветки
← →
Андрусь (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 вся ветка
Форум: "Основная";
Текущий архив: 2003.01.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.011 c