![]() |
|
||||||||||
|
|||||
|
Привет всем.
Задача такая - имеется указатель на функцию (текстовая переменная, в которой хранится имя функции - ну к примеру MyVariable="MyFunction()"). Теперь нужно взять эту переменную и вызвать функцию, на которую она указывает (то есть MyFunction() ). Аналог - вызов переменной по указателю делается с помощью eval(MyVariable). А тут никак не могу подобрать синтаксис, чтобы срабатывало. Спасибо. |
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Спасибо. Да, все получается. Правда, я хотел хранить в указателе и аргументы, но это не проблема, конечно. Придется их приклеивать отдельно.
|
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
можно и
eval(name)(); ...но так, как написал делимитер - лучше а если хочется извратиться с аргументами - можно можно строковыми функциями все расковырять... только зачем - не понимаю... это получается что ты парсишь строку ради того чтобы вызвать функцию... Последний раз редактировалось Nox Noctis; 06.01.2003 в 18:45. |
|
|||||
|
Nox Noctis, пожалуй так, как ты предлагаешь удобно делать, когда путь полностью хранится в указателе. Я был уверен, что пробовал этот вариант и безуспешно, но оказалось, что не догадался
![]() Насчет аргументов - задача была такая - один мувик-прелоадер вызывается нужное число раз (с помощью аттача). При этом он осуществляет индикацию загрузки разных типов данных (если быть точнее - мувиков и xml-объектов). Каждый раз при вызове управляющая функция передает прелоадеру ряд аргументов (имя объекта, тип данных для текстовых сообщений и т. д.), в том числе - указатель на функцию с перечнем аргументов, которую надо запустить по окончанию загрузки. Если не парсить строку, то эти аргументы нужно передавать отдельно. Дело в том, что я еще не знаю - сколько и какие будут эти функции и сколько аргументов будет у каждой. Последний раз редактировалось Stary; 06.01.2003 в 19:00. |
|
|||||
|
don't panic!
Регистрация: Aug 2001
Сообщений: 4,121
|
если ты пишешь в МХ, то из любой функции ты можешь получить массив переданных ей аргументов при помощи указателя arguments...
так что количество аргументов - не проблема, главное описать что с этими аргументами делать... |
|
|||||
|
Действительно. Об этом я не подумал как-то. А что, в пятом это не работает?
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Не очень
![]()
__________________
...убивать людей не удовольствия ради, но для еды. |
|
|||||
|
Регистрация: Oct 2001
Адрес: в Петербурге
Сообщений: 2,430
|
arguments в пятерке прекрасно работают.
|
|
|||||
|
некрофил
Регистрация: Mar 2002
Адрес: ...по колено в кровище...
Сообщений: 2,292
|
Андокументед полный
![]()
__________________
...убивать людей не удовольствия ради, но для еды. |
![]() |
Часовой пояс GMT +4, время: 07:45. |
|
|
« Предыдущая тема | Следующая тема » |
|
|