![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Василий1488 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 1 Пол: Мужской Репутация: ![]() ![]() ![]() |
Здравствуйте!
Возникла такая проблема: Не могу присвоить процедурной переменной метод объекта (пишет неправильное использование функции) На сколько помню, то в делфи для этого при объявлении проц. типа надо указать of object. Как это сделать в турбопаскале? Если никак, то где можно прочитать про то, как происходит вызов метода объекта (есть идея вызвать непосредственно по адресу, но как его заставить обработать нужный объект?)... Заранее спасибо! |
![]() ![]() |
OCTAGRAM |
![]()
Сообщение
#2
|
![]() Концептуал ![]() Группа: Пользователи Сообщений: 20 Пол: Мужской Реальное имя: Иван Левашев Репутация: ![]() ![]() ![]() |
Если никак, то где можно прочитать про то, как происходит вызов метода объекта (есть идея вызвать непосредственно по адресу, но как его заставить обработать нужный объект?)... Да, у меня тоже никак не получилось получить этот адрес, даже в Pointer. По идее, так же, как и у обычных процедур, только указатель на нужный объект первым параметром перед всеми остальными. Тут ещё надо помнить, что переменные процедурных типов вызываются как FAR, а по умолчанию процедуры компилируются как NEAR. Директиву FAR применительно к методам объектов TP не принимает. Либо они всегда FAR, либо это не предусмотрено. Можно попробовать компилировать с {$F+} на всякий случай. -------------------- If you want to get to the top, you have to start at the bottom
|
![]() ![]() |
![]() |
Текстовая версия | 12.08.2025 16:16 |