#eval
#вычисление
Вопрос:
У меня возникли проблемы с получением функции EVAL для вычисления строки как строки исполняемого кода. Я не могу найти много в Интернете об использовании его для этой цели. (Может быть, потому, что это невозможно сделать?).
Public Function UpdateControlBackground (frobnitz as String)
Eval(frobnitz)
End of Function
Где frobnitz
находится строка “ Forms!Main." amp; rs!NameOfControl amp; ".Backcolor = " amp; Str(lngColor)
Rs!NameofControl
это из записи. lngColor
вычисляется на основе строки шестнадцатеричного цвета из той же записи.
Если я беру то, что вычисляет строка, и выполняю это в немедленном окне, это работает нормально. Обычно это что-то вроде:
Forms!Main.bxBEStep1.Backcolor = 123456 'object is a box as a background
-или-
Forms!Main.SUB_Visits.Form.Section(0).Backcolor = 123456 '0 is the detail section
В настоящее время оно оценивается в 0 (False). Неудивительно из-за знака равенства. Но более того, кажется, что мне нужно каким-то образом указать, что результат функции должен быть определен как исполняемый код, и выполнить его.
Я предполагаю, что, возможно, это должно иметь вид:
Public Function UpdateControlBackground(Frobnitz as String) As ???
Но я не знаю , что за ??? должно быть. Я пробовал различные пункты из предложенного списка, но ни один из них не сработал. Приветствуются любые предложения.
Комментарии:
1. Спасибо редактору за то, что он сделал это более читаемым.