Задать вопрос
  • Многопоточная программа?

    @iandarken
    1. Ты создаешь se1.Value + 1 поток, каждый из которых выполняет твой 0..5 цикл в Proba.n1. Соответственно, у тебя и пишется в memo пять единици от каждого из потоков, потом 2 - снова от каждого из потоков. Твоя I из for I := 0 to 5 do - не общая для всех потоков, а своя для каждого. Если нужен аналог глобальной переменной, добавь в описание класса Proba static-поле, вроде
    private
    class function GetStaticField: string; static;
    class procedure SetStaticField(const Value: string); static;
    public
    class property StaticField: string read GetStaticField write SetStaticField


    2. Но это все фигня. Самое страшное тут:

    Form1.mmo2.Lines.Add(s);

    за изменение GUI-компонентов не через Synchronize вообще канделябром можно получить в самом неожиданном месте.
    Ответ написан
    Комментировать