McAfee удаляет код из модуля VBA

Лучше иметь энергозависимый флаг completed в вашем Task и установить true, как только вся логика будет выполнена.

class Task implements Callable<Boolean>{
    private volatile boolean completed = false;
    @Override
    public Boolean call() throws Exception {
        //task code
        completed = true;
    }
    public boolean isCompleted(){
        return this.completed;
    }
}

Методы executor.isTerminated() и executor.isShutdown() всегда возвращают false, поскольку вы не выключили исполнителя и не могут использоваться для проверки состояния отдельных задач. Эти методы сообщат вам состояние исполнителя.

5
задан Community 7 March 2013 в 09:06
поделиться

3 ответа

Вы не должны генерировать новые маркировки написанием кода, которое создает средства управления.

Необходимо использовать.Add метод на наборе Средств управления для создания новых маркировок.

Например:

UserForm1.Controls.Add("Forms.Label.1", "foo", True)

Можно использовать WithEvents получить события.

Например, в UserForm1,

Public WithEvents a As MSForms.Label

Private Sub a_Click()

    MsgBox "label clicked"

End Sub

Private Sub CommandButton1_Click()

    Set a = UserForm1.Controls.Add("Forms.Label.1", "foo", True)
    a.Visible = True
    a.Caption = "Hi There"

End Sub

Если Вы захотите сделать динамический массив из недавно добавленных средств управления, то необходимо будет создать немного класса обертки. Пример кода для этого здесь.

7
ответ дан 14 December 2019 в 01:19
поделиться

Вы смогли к обходному решению эта версия McAfee. Но следующая версия файлов данных или другой вредоносный блокировщик могла бы заблокировать Вас во всяком случае.

Таким образом, можно создать код как это для работы Вас машина разработки, но это никогда не будет (или только временный) работа при распределении клиентам.

1
ответ дан 14 December 2019 в 01:19
поделиться

Если возможный я рекомендовал бы против динамического поколения кода (запахи как программа самоизменения?).

Возможно, трудно сказать, не зная Вашей определенной проблемы, но я держал пари, что существует лучшее решение с помощью функции с необходимыми параметрами.

1
ответ дан 14 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: