|
Как в Eval передать параметры функции?
|
|||
---|---|---|---|
#18+
Здравствуйте господа! Помогите в решении следующего вопроса. Не работает конструкция: Function f(x As Long, y As long) f=x*y End Function Sub primer() Dim a As Long Dim b As Long Dim s As String a=1 b=2 s="f(a,b)" Eval(s) End Sub На строке Eval(s) выдает ошибку. Может ли кто нибудь объяснить, что тут не так? ... |
|||
:
Нравится:
Не нравится:
|
|||
25.04.2002, 13:17 |
|
Как в Eval передать параметры функции?
|
|||
---|---|---|---|
#18+
А текст ошибки как звучит? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.04.2002, 06:29 |
|
Как в Eval передать параметры функции?
|
|||
---|---|---|---|
#18+
№ ошибки: 2482 Приложению "Microsoft Access" не удается найти имя 'а' из этого выражения. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2002, 05:35 |
|
Как в Eval передать параметры функции?
|
|||
---|---|---|---|
#18+
С Eval() я никогда не работал. А ваша функция f значение какое возвращает? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2002, 09:14 |
|
Как в Eval передать параметры функции?
|
|||
---|---|---|---|
#18+
Ну, допустим, long. Но это не столь важно, т.к. в начальном вопросе я привел упрощенный пример. На самом деле все довольно запутанней. У меня есть набор функций, допустим f1(), f2(), ....., f85() У каждой из этих функций свой набор параметров. Max кол-во параметров=7. Тип данных значений, возвращаемый функциями разный. Допустим f(1) As Long, f(2) As Double, f(3) As String и т.д. Далее в том или ином месте кода мне нужно вызвать одну из этих функций, но я заранее не знаю какую, т.к. это зависит от определенных условий. Чтобы не рисовать Select Case из 85 Сase`ов я поступил так: создал таблицу из 2-х полей: 1-е поле - № функции, 2-е поле - строка с самой функцией. Например: 1 f1(x,y) 2 f2(x,y,z) 3 f3(x) 4 f4(x,y,z,a,b) и т.д. Затем перед вызовом функции извлекаю из этой таблицы строку, содержащую функцию, в какую нибудь переменную (например ss), и с помощью Eval(ss) делаю вызов этой функции. Но эта зараза не хочет работать. Вот так! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.04.2002, 12:11 |
|
|
start [/forum/topic.php?fid=45&msg=32029251&tid=1683585]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 222ms |
0 / 0 |