Показать сообщение отдельно
Старый 11.09.2009, 10:08   #3  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Регистрация: 11.04.2008
Тоже самое, с корректным оформлением:

X++:
   try
    {
        permission = new ExecutePermission();
        if (permission == null)
            return ...;

        pseudoFunc = "static real func() { return " + expression + "; }";

        permission.assert();

        if(comp.compile(pseudoFunc))
        {
            result = runBuf(expression);
        }
        else
        {
            ...
        }
        CodeAccessPermission::revertAssert();
    }
    catch (Exception::Error)
    {
        ...
    }
Взято отсюда: Результат арифметического выражения: "2*2" в 4. Как?

P.S. Т.е. не совсем тоже самое, скорее другой, чуть более надежный способ

Последний раз редактировалось DSPIC; 11.09.2009 в 10:10.
За это сообщение автора поблагодарили: alex55 (1), player (1).