crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Динамический вызов ф-ции в QT Script, По имени ф-ции в переменной
JohnZ
  опции профиля:
сообщение 25.6.2017, 13:22
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 139
Регистрация: 19.7.2014
Пользователь №: 4190

Спасибо сказали: 10 раз(а)




Репутация:   0  


Всем Здравия !

Задаю вопрос повторно, по совету админа, т.к. предыдущий ответ утерян ...

Проблема в следующем, - есть в скрипте функции CalcVO1(), CalcVO2(), CalcVO3(), ...
Как можно вызвать эти ф-ции по имени в переменной ?

В и-нете нашёл аналогичный вопрос (и ответ !), ...

http://www.sql.ru/forum/879788/js-vyzov-fu...ni-v-peremennoy

но ответ был дан для web-а, и в QT Script он почему-то не работает :unsure:

На скрине окно отладчика QT Script с демонстрацией проблемы на вызове тестовой ф-ции ...

В принципе половинчатое решение есть, с пом-ю С++

Раскрывающийся текст

void MainWindow::callFunc(QString ffName, int fnum)
{
QString fName = QString("%0%1").arg(ffName).arg(fnum);
if (engine->globalObject().property(fName).isValid())
engine->globalObject().property(fName).call();
}

... но тогда придётся _параметры_ вызова делать глобальными в скрипте, что некузяво :(

Заранее благодарен за помощь.

Сообщение отредактировал JohnZ - 25.6.2017, 15:23
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.4.2024, 12:53