Конференция "Corba" » Память и MSScriptControl.ScriptControl [RAD XE2, Windows]
 
  • MultIfleX (16.05.13 12:08) [0]
    Всем привет.

    Сижу разбираюсь с MSScriptControl.ScriptControl. Набросал следующее:

    Создание формы:

    procedure TForm1.FormCreate(Sender: TObject);
    begin
     script := CreateOleObject('MSScriptControl.ScriptControl');
     script.Language := 'JScript';
     script.AddCode('function ololo(x){arr=[];' +
                'arr.push(\"Kiwi\");' +
                'arr.push(\"Ananas\");' +
                'return arr;' +
                '}
    '
    );
    end;



    клик по кнопке:

    procedure TForm1.Button1Click(Sender: TObject);
    var
    i : integer;
     res : Variant;
    begin
    for i := 0 to 100000 do
      res := script.Eval('ololo(7)');
    end;



    При одном клике отжирает 5 мегабайт ОЗУ.
    Так и должно быть? ЧЯДНТ?
  • clickmaker © (16.05.13 23:33) [1]
    Возможно, в какой-то версии утечка памяти.
    Windows 2008 R2, XE3 - не более 2М при любом количестве кликов
  • MultIfleX (17.05.13 07:11) [2]
    clickmaker, спасибо, действительно интересный факт. XE3 у меня нет, поставил 2007 - всё работает хорошо. Вот ведь ...

    Есть шанс, что XE2 сконфигурирована неправильно? Или скорее всего это баг...
  • MultIfleX (17.05.13 22:55) [3]
    Проверил ХЕ3 - в ней работает как нужно, значит утечки в коде приложения.
    Всем спасибо, вопросов больше нет.
 
Конференция "Corba" » Память и MSScriptControl.ScriptControl [RAD XE2, Windows]
Есть новые Нет новых   [134427   +26][b:0][p:0.001]