Delphi Error – E2194 Cannot initialize thread local variables

Delphi Compiler Error

E2194 Cannot initialize thread local variables

Reason for the Error & Solution

The compiler does not allow initialization of thread local variables.

program Produce;

  threadvar
    tls : Integer = 151;

begin
end.

The declaration and initialization of ‘tls’ above is not allowed.

program Solve;

  threadvar
    tls : Integer;

begin tls := 151;
end.

You can declare thread local storage as normal, and then initialize it in the initialization section of your source file.