Хотелось бы уточнить как правильно освобождать ресурсы при работе с TJSONData (fpjson)
Имеется приложение (демон) на astralinux, приложение реализует подобие REST интерфейса.
Есть метод
- Код: Выделить всё
- // Смена статуса учетки
 procedure THlpSrv.stateEmploeeEndpoint(ARequest: TRequest; AResponse: TResponse);
 var
 JsonData : TJSONData;
 FindJsonData : TJSONData = nil;
 .....
при вызове метода получаем json из тела запроса
- Код: Выделить всё
- JsonData := GetJSON(ARequest.Content);
затем, необходимо проверить существование и если есть - получить значение атрибута
- Код: Выделить всё
- FindJsonData := JsonData.FindPath('isEmployeeLocked');
 if FindJsonData <> nil then
 begin
 accState := not FindJsonData.IsNull and FindJsonData.AsBoolean = True;
 .....
в общем, все хорошо, все работает за исключением финализации
- Код: Выделить всё
- finally
 //if Assigned(FindJsonData) then
 //FindJsonData.Free;
 FreeAndNil(JsonData);
 FreeAndNil(serverDate);
 end;
при освобождении ресурсов, если попытаться освободить FindJsonData вываливается ошибка
Проект Daemon application вызвал класс исключения 'External: Unknown exception code 6'.
По адресу 7C64588EAFFF
если закоментарить - все работает.
Хотелось бы понять - как правильно освободить ресурс?

