Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не срабатывает деструктор / 4 сообщений из 4, страница 1 из 1
21.06.2021, 22:55
    #40079239
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает деструктор
Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
TReader = class(TThread)
  procedure Execute; override;
  destructor Destroy; override;
end;

-----------------------------

procedure TReader.Execute;
var
  LastRead: TDateTime;
const
  RequestDelay = 1/24/3600;
begin
  inherited;
  NameThreadForDebugging('Reader');

  StrToLog('Reader Thread Started.');
  NavCoords:=TNavCoordsQueue.Create;

  LastRead:=0;
  LastCTShort:=Now-RequestDelay;
  LastCTLong:=LastCTShort;
  try
    while not Terminated do begin
      try
        if Now-LastRead>=RequestDelay then begin
          LastRead:=Now;
          ReadNewData;
        end;
      except
        on E: Exception do begin
          StrToLog('Reader Thread Error: '+E.Message);
          Sleep(1000);
        end;
      end;
    end;
  finally
    StrToLog('NSILoader Thread Finished.');
  end;
end;

destructor TReader.Destroy;
begin
  inherited;

  DB.Free;
  NavCoords.Free;
  StrToLog('Reader Thread Destroyed.');
end;


Что я забыл? Почему у меня деструктор не срабатывает?

Execute до конца доходит, а деструктор не вызывается.

В соседнем юзнете в другом похожем треде - все ок.
...
Рейтинг: 0 / 0
21.06.2021, 23:04
    #40079242
Соколинский Борис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает деструктор
rgreat,
FreeOnTerminate := True;
...
Рейтинг: 0 / 0
21.06.2021, 23:45
    #40079246
rgreat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает деструктор


Спасибо.
...
Рейтинг: 0 / 0
22.06.2021, 09:29
    #40079272
Zelius
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не срабатывает деструктор
rgreat,

NB: OneSecond
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Не срабатывает деструктор / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]