Воровство из статьи Уве Раабе Синхронизировать и поставить в очередь с Параметры Я делаю так:
if GetCurrentThreadID = MainThreadID then
FDataLogger(IntToStr(lNrItems) + ' elements:')
else
TThread.Synchronize(nil,
procedure
begin
FDataLogger(IntToStr(lNrItems) + ' elements:');
end);
Но если я просто
TThread.Synchronize(nil,
procedure
begin
FDataLogger(IntToStr(lNrItems) + ' elements:');
end);
это тоже работает.
Поскольку первая конструкция приводит к большему объему кода, много ли пользы от выделения основного потока?
lNrItems = 1
, это говорит о 1 элементе, что грамматически неверно. Самое простое (и, возможно, лучшее) решение — написатьelement(s)
в строковых литералах. - person Andreas Rejbrand   schedule 18.03.2020