Цитата:
Сообщение от Alegun
Вариант от Пачеко - "Поток с доступом к глобальной
З.Ы. Приостановить/продолжить/грохнуть выполнение потока, насколько помню это ведь через Suspend/Resume/Terminate выполняется из главного потока сборки
|
Хм... я просто сделал глобальной и вроде как все нормально должно быть...
А насчет последнего все правильно.
Цитата:
Сообщение от poli-smen
Если стринглист находится во владении формы, то зачем его тогда передавать через Synchronize?
|
Может я чего-то не понимаю, но синхронизация нужна при любом взаимодействии с ГУИ, и передавал я ее только для того, чтобы обновить Мемо на форме.
Цитата:
Сообщение от poli-smen
Я имею ввиду вот эту строчку:Неправильно. Нужно так:
Код:
CriticalSection := TCriticalSection.Create;
|
Да, точно, давно не занимался, уже все забыл.
Цитата:
Сообщение от poli-smen
Синхронизация конечно нужна, но зачем параллельный поток пытается передать основному потоку StringList если этот StringList и так является объектом главного потока (формы), а не параллельного (MyThread)?
|
Это я провтыкал, проект давно писал, решил вот доразобраться с потоками, то в коде по поводу потоков полный хаос был.
Сейчас вроде как даже все работает и программа не виснет, сейчас проверяю, правильно ли все чищу при остановке процесса до начала следующего.
А пока вопрос, правильно ли я чищу динамически созданные объекты?
Код:
if Assigned(StringList) then
FreeAndNil(StringList);