Hallöle...
Delphi-Quellcode:
constructor TQThread.Create(DataSource: TDataSource);
begin
FDataSource := DataSource;
FQuery := TADOQuery(FDataSource.DataSet);
FreeOnTerminate := True; // <--
inherited Create(True);
end;
Persönlich würde immer das
inherited immer im Konstruktor an erste Stelle setzen. In deinem Falle greiftst auf eine Variable des TThread zu, die noch nicht existent sein sollte, weil das Create des TThread noch nicht durchlaufen ist. Warum das bei dir funktioniert, weis ich nicht...
Klärt mich auf.
besser:
Delphi-Quellcode:
constructor TQThread.Create(DataSource: TDataSource);
begin
inherited Create(True);
FDataSource := DataSource;
FQuery := TADOQuery(FDataSource.DataSet);
FreeOnTerminate := True;
end;