fsScript.Clear

lvilvi
отредактировано 08:23 Раздел: FastScript
Вот код скрипта
var
Excel, Book, Sheet: Variant;

begin
Excel := CreateOLEObject('Excel.Application');
Book := Excel.WorkBooks.Open('file.xls');
Sheet := Book.ActiveSheet;
Sheet := nil;
Book.Close;
Book := nil;
Excel := nil;
end.

Поле запуска на исполнение (уже есть откопилированный)

FileStream:= TFileStream.Create(FmEditorRun.ExeFileName, fmOpenRead);
FsScript.SetILCode(FileStream);
FileStream.Free;
FsScript.Execute;

Всегда производиться

fsScript.Clear;

В прошлых версиях из процессов в данном случае исчезал Excel
Теперь же вообще остаётся - сколько раз выполнишь - столько и будет экземпляров

Комментарии

  • lvilvi
    отредактировано 08:23
    Вот как это реализовано по новому
    procedure TfsScript.Clear;
    begin
    while FItems.Count > 0 do
    begin
    FItems.Objects[0].Free;
    FItems.Delete(0);
    end;
    FStatement.Clear;
    FUnitLines.Clear;
    end;
    Где FItems - TStringList

    Вот по старому

    procedure TfsScript.Clear;
    begin
    while FItems.Count > 0 do
    begin
    TObject(FItems[0]).Free;
    FItems.Delete(0);
    end;
    FStatement.Clear;
    FUnitLines.Clear;
    end;
    где FItems - TList
  • отредактировано 08:23
    Реализация не имеет значения, такое же поведение наблюдается и в старой версии. Пробовал лечить - не помогает.
  • lvilvi
    отредактировано 08:23
    Извиняюсь конечно - но дело в том , что на прошлых версиях - конкретно FastScript v1.5 - всё сказанное выше работает корректно
  • отредактировано 08:23
    В fs_iinterpreter.pas надо поправить:

    constructor TfsScript.Create(AOwner: TComponent);
    begin
    inherited;
    FItems := TStringList.Create;
    FItems.Sorted := True;
    // add
    FItems.Duplicates := dupAccept;
    ...
  • lvilvi
    отредактировано 08:23
    ОГРОМНОЕ СПАСИБО

    Просто сказка теперь, помогло.

Оставить комментарий

Многофункциональный текстовый редактор. Чтобы отредактировать стиль параграфа, нажмите TAB, чтобы перейти к меню абзаца. Там вы можете выбрать стиль. По умолчанию не выбран ни один стиль. Когда вы выберете текст, появится встроенное меню форматирования. Нажмите TAB, чтобы войти в него. Некоторые элементы, такие как многофункциональные вставки ссылок, картинок, индикаторов загрузки и сообщений об ошибок могут быть вставлены в редактор. Вы можете перемещаться по ним, используя стрелки внутри редактора и удалять с помощью клавиш delete или backspace.